/**
 * @author F.biz - http://www.fbiz.com.br/
 */
/*	SWFObject v2.2 <http://code.google.com/p/swfobject/> 
	is released under the MIT License <http://www.opensource.org/licenses/mit-license.php> 
*/
var swfobject=function(){var D="undefined",r="object",S="Shockwave Flash",W="ShockwaveFlash.ShockwaveFlash",q="application/x-shockwave-flash",R="SWFObjectExprInst",x="onreadystatechange",O=window,j=document,t=navigator,T=false,U=[h],o=[],N=[],I=[],l,Q,E,B,J=false,a=false,n,G,m=true,M=function(){var aa=typeof j.getElementById!=D&&typeof j.getElementsByTagName!=D&&typeof j.createElement!=D,ah=t.userAgent.toLowerCase(),Y=t.platform.toLowerCase(),ae=Y?/win/.test(Y):/win/.test(ah),ac=Y?/mac/.test(Y):/mac/.test(ah),af=/webkit/.test(ah)?parseFloat(ah.replace(/^.*webkit\/(\d+(\.\d+)?).*$/,"$1")):false,X=!+"\v1",ag=[0,0,0],ab=null;if(typeof t.plugins!=D&&typeof t.plugins[S]==r){ab=t.plugins[S].description;if(ab&&!(typeof t.mimeTypes!=D&&t.mimeTypes[q]&&!t.mimeTypes[q].enabledPlugin)){T=true;X=false;ab=ab.replace(/^.*\s+(\S+\s+\S+$)/,"$1");ag[0]=parseInt(ab.replace(/^(.*)\..*$/,"$1"),10);ag[1]=parseInt(ab.replace(/^.*\.(.*)\s.*$/,"$1"),10);ag[2]=/[a-zA-Z]/.test(ab)?parseInt(ab.replace(/^.*[a-zA-Z]+(.*)$/,"$1"),10):0}}else{if(typeof O.ActiveXObject!=D){try{var ad=new ActiveXObject(W);if(ad){ab=ad.GetVariable("$version");if(ab){X=true;ab=ab.split(" ")[1].split(",");ag=[parseInt(ab[0],10),parseInt(ab[1],10),parseInt(ab[2],10)]}}}catch(Z){}}}return{w3:aa,pv:ag,wk:af,ie:X,win:ae,mac:ac}}(),k=function(){if(!M.w3){return}if((typeof j.readyState!=D&&j.readyState=="complete")||(typeof j.readyState==D&&(j.getElementsByTagName("body")[0]||j.body))){f()}if(!J){if(typeof j.addEventListener!=D){j.addEventListener("DOMContentLoaded",f,false)}if(M.ie&&M.win){j.attachEvent(x,function(){if(j.readyState=="complete"){j.detachEvent(x,arguments.callee);f()}});if(O==top){(function(){if(J){return}try{j.documentElement.doScroll("left")}catch(X){setTimeout(arguments.callee,0);return}f()})()}}if(M.wk){(function(){if(J){return}if(!/loaded|complete/.test(j.readyState)){setTimeout(arguments.callee,0);return}f()})()}s(f)}}();function f(){if(J){return}try{var Z=j.getElementsByTagName("body")[0].appendChild(C("span"));Z.parentNode.removeChild(Z)}catch(aa){return}J=true;var X=U.length;for(var Y=0;Y<X;Y++){U[Y]()}}function K(X){if(J){X()}else{U[U.length]=X}}function s(Y){if(typeof O.addEventListener!=D){O.addEventListener("load",Y,false)}else{if(typeof j.addEventListener!=D){j.addEventListener("load",Y,false)}else{if(typeof O.attachEvent!=D){i(O,"onload",Y)}else{if(typeof O.onload=="function"){var X=O.onload;O.onload=function(){X();Y()}}else{O.onload=Y}}}}}function h(){if(T){V()}else{H()}}function V(){var X=j.getElementsByTagName("body")[0];var aa=C(r);aa.setAttribute("type",q);var Z=X.appendChild(aa);if(Z){var Y=0;(function(){if(typeof Z.GetVariable!=D){var ab=Z.GetVariable("$version");if(ab){ab=ab.split(" ")[1].split(",");M.pv=[parseInt(ab[0],10),parseInt(ab[1],10),parseInt(ab[2],10)]}}else{if(Y<10){Y++;setTimeout(arguments.callee,10);return}}X.removeChild(aa);Z=null;H()})()}else{H()}}function H(){var ag=o.length;if(ag>0){for(var af=0;af<ag;af++){var Y=o[af].id;var ab=o[af].callbackFn;var aa={success:false,id:Y};if(M.pv[0]>0){var ae=c(Y);if(ae){if(F(o[af].swfVersion)&&!(M.wk&&M.wk<312)){w(Y,true);if(ab){aa.success=true;aa.ref=z(Y);ab(aa)}}else{if(o[af].expressInstall&&A()){var ai={};ai.data=o[af].expressInstall;ai.width=ae.getAttribute("width")||"0";ai.height=ae.getAttribute("height")||"0";if(ae.getAttribute("class")){ai.styleclass=ae.getAttribute("class")}if(ae.getAttribute("align")){ai.align=ae.getAttribute("align")}var ah={};var X=ae.getElementsByTagName("param");var ac=X.length;for(var ad=0;ad<ac;ad++){if(X[ad].getAttribute("name").toLowerCase()!="movie"){ah[X[ad].getAttribute("name")]=X[ad].getAttribute("value")}}P(ai,ah,Y,ab)}else{p(ae);if(ab){ab(aa)}}}}}else{w(Y,true);if(ab){var Z=z(Y);if(Z&&typeof Z.SetVariable!=D){aa.success=true;aa.ref=Z}ab(aa)}}}}}function z(aa){var X=null;var Y=c(aa);if(Y&&Y.nodeName=="OBJECT"){if(typeof Y.SetVariable!=D){X=Y}else{var Z=Y.getElementsByTagName(r)[0];if(Z){X=Z}}}return X}function A(){return !a&&F("6.0.65")&&(M.win||M.mac)&&!(M.wk&&M.wk<312)}function P(aa,ab,X,Z){a=true;E=Z||null;B={success:false,id:X};var ae=c(X);if(ae){if(ae.nodeName=="OBJECT"){l=g(ae);Q=null}else{l=ae;Q=X}aa.id=R;if(typeof aa.width==D||(!/%$/.test(aa.width)&&parseInt(aa.width,10)<310)){aa.width="310"}if(typeof aa.height==D||(!/%$/.test(aa.height)&&parseInt(aa.height,10)<137)){aa.height="137"}j.title=j.title.slice(0,47)+" - Flash Player Installation";var ad=M.ie&&M.win?"ActiveX":"PlugIn",ac="MMredirectURL="+O.location.toString().replace(/&/g,"%26")+"&MMplayerType="+ad+"&MMdoctitle="+j.title;if(typeof ab.flashvars!=D){ab.flashvars+="&"+ac}else{ab.flashvars=ac}if(M.ie&&M.win&&ae.readyState!=4){var Y=C("div");X+="SWFObjectNew";Y.setAttribute("id",X);ae.parentNode.insertBefore(Y,ae);ae.style.display="none";(function(){if(ae.readyState==4){ae.parentNode.removeChild(ae)}else{setTimeout(arguments.callee,10)}})()}u(aa,ab,X)}}function p(Y){if(M.ie&&M.win&&Y.readyState!=4){var X=C("div");Y.parentNode.insertBefore(X,Y);X.parentNode.replaceChild(g(Y),X);Y.style.display="none";(function(){if(Y.readyState==4){Y.parentNode.removeChild(Y)}else{setTimeout(arguments.callee,10)}})()}else{Y.parentNode.replaceChild(g(Y),Y)}}function g(ab){var aa=C("div");if(M.win&&M.ie){aa.innerHTML=ab.innerHTML}else{var Y=ab.getElementsByTagName(r)[0];if(Y){var ad=Y.childNodes;if(ad){var X=ad.length;for(var Z=0;Z<X;Z++){if(!(ad[Z].nodeType==1&&ad[Z].nodeName=="PARAM")&&!(ad[Z].nodeType==8)){aa.appendChild(ad[Z].cloneNode(true))}}}}}return aa}function u(ai,ag,Y){var X,aa=c(Y);if(M.wk&&M.wk<312){return X}if(aa){if(typeof ai.id==D){ai.id=Y}if(M.ie&&M.win){var ah="";for(var ae in ai){if(ai[ae]!=Object.prototype[ae]){if(ae.toLowerCase()=="data"){ag.movie=ai[ae]}else{if(ae.toLowerCase()=="styleclass"){ah+=' class="'+ai[ae]+'"'}else{if(ae.toLowerCase()!="classid"){ah+=" "+ae+'="'+ai[ae]+'"'}}}}}var af="";for(var ad in ag){if(ag[ad]!=Object.prototype[ad]){af+='<param name="'+ad+'" value="'+ag[ad]+'" />'}}aa.outerHTML='<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000"'+ah+">"+af+"</object>";N[N.length]=ai.id;X=c(ai.id)}else{var Z=C(r);Z.setAttribute("type",q);for(var ac in ai){if(ai[ac]!=Object.prototype[ac]){if(ac.toLowerCase()=="styleclass"){Z.setAttribute("class",ai[ac])}else{if(ac.toLowerCase()!="classid"){Z.setAttribute(ac,ai[ac])}}}}for(var ab in ag){if(ag[ab]!=Object.prototype[ab]&&ab.toLowerCase()!="movie"){e(Z,ab,ag[ab])}}aa.parentNode.replaceChild(Z,aa);X=Z}}return X}function e(Z,X,Y){var aa=C("param");aa.setAttribute("name",X);aa.setAttribute("value",Y);Z.appendChild(aa)}function y(Y){var X=c(Y);if(X&&X.nodeName=="OBJECT"){if(M.ie&&M.win){X.style.display="none";(function(){if(X.readyState==4){b(Y)}else{setTimeout(arguments.callee,10)}})()}else{X.parentNode.removeChild(X)}}}function b(Z){var Y=c(Z);if(Y){for(var X in Y){if(typeof Y[X]=="function"){Y[X]=null}}Y.parentNode.removeChild(Y)}}function c(Z){var X=null;try{X=j.getElementById(Z)}catch(Y){}return X}function C(X){return j.createElement(X)}function i(Z,X,Y){Z.attachEvent(X,Y);I[I.length]=[Z,X,Y]}function F(Z){var Y=M.pv,X=Z.split(".");X[0]=parseInt(X[0],10);X[1]=parseInt(X[1],10)||0;X[2]=parseInt(X[2],10)||0;return(Y[0]>X[0]||(Y[0]==X[0]&&Y[1]>X[1])||(Y[0]==X[0]&&Y[1]==X[1]&&Y[2]>=X[2]))?true:false}function v(ac,Y,ad,ab){if(M.ie&&M.mac){return}var aa=j.getElementsByTagName("head")[0];if(!aa){return}var X=(ad&&typeof ad=="string")?ad:"screen";if(ab){n=null;G=null}if(!n||G!=X){var Z=C("style");Z.setAttribute("type","text/css");Z.setAttribute("media",X);n=aa.appendChild(Z);if(M.ie&&M.win&&typeof j.styleSheets!=D&&j.styleSheets.length>0){n=j.styleSheets[j.styleSheets.length-1]}G=X}if(M.ie&&M.win){if(n&&typeof n.addRule==r){n.addRule(ac,Y)}}else{if(n&&typeof j.createTextNode!=D){n.appendChild(j.createTextNode(ac+" {"+Y+"}"))}}}function w(Z,X){if(!m){return}var Y=X?"visible":"hidden";if(J&&c(Z)){c(Z).style.visibility=Y}else{v("#"+Z,"visibility:"+Y)}}function L(Y){var Z=/[\\\"<>\.;]/;var X=Z.exec(Y)!=null;return X&&typeof encodeURIComponent!=D?encodeURIComponent(Y):Y}var d=function(){if(M.ie&&M.win){window.attachEvent("onunload",function(){var ac=I.length;for(var ab=0;ab<ac;ab++){I[ab][0].detachEvent(I[ab][1],I[ab][2])}var Z=N.length;for(var aa=0;aa<Z;aa++){y(N[aa])}for(var Y in M){M[Y]=null}M=null;for(var X in swfobject){swfobject[X]=null}swfobject=null})}}();return{registerObject:function(ab,X,aa,Z){if(M.w3&&ab&&X){var Y={};Y.id=ab;Y.swfVersion=X;Y.expressInstall=aa;Y.callbackFn=Z;o[o.length]=Y;w(ab,false)}else{if(Z){Z({success:false,id:ab})}}},getObjectById:function(X){if(M.w3){return z(X)}},embedSWF:function(ab,ah,ae,ag,Y,aa,Z,ad,af,ac){var X={success:false,id:ah};if(M.w3&&!(M.wk&&M.wk<312)&&ab&&ah&&ae&&ag&&Y){w(ah,false);K(function(){ae+="";ag+="";var aj={};if(af&&typeof af===r){for(var al in af){aj[al]=af[al]}}aj.data=ab;aj.width=ae;aj.height=ag;var am={};if(ad&&typeof ad===r){for(var ak in ad){am[ak]=ad[ak]}}if(Z&&typeof Z===r){for(var ai in Z){if(typeof am.flashvars!=D){am.flashvars+="&"+ai+"="+Z[ai]}else{am.flashvars=ai+"="+Z[ai]}}}if(F(Y)){var an=u(aj,am,ah);if(aj.id==ah){w(ah,true)}X.success=true;X.ref=an}else{if(aa&&A()){aj.data=aa;P(aj,am,ah,ac);return}else{w(ah,true)}}if(ac){ac(X)}})}else{if(ac){ac(X)}}},switchOffAutoHideShow:function(){m=false},ua:M,getFlashPlayerVersion:function(){return{major:M.pv[0],minor:M.pv[1],release:M.pv[2]}},hasFlashPlayerVersion:F,createSWF:function(Z,Y,X){if(M.w3){return u(Z,Y,X)}else{return undefined}},showExpressInstall:function(Z,aa,X,Y){if(M.w3&&A()){P(Z,aa,X,Y)}},removeSWF:function(X){if(M.w3){y(X)}},createCSS:function(aa,Z,Y,X){if(M.w3){v(aa,Z,Y,X)}},addDomLoadEvent:K,addLoadEvent:s,getQueryParamValue:function(aa){var Z=j.location.search||j.location.hash;if(Z){if(/\?/.test(Z)){Z=Z.split("?")[1]}if(aa==null){return L(Z)}var Y=Z.split("&");for(var X=0;X<Y.length;X++){if(Y[X].substring(0,Y[X].indexOf("="))==aa){return L(Y[X].substring((Y[X].indexOf("=")+1)))}}}return""},expressInstallCallback:function(){if(a){var X=c(R);if(X&&l){X.parentNode.replaceChild(l,X);if(Q){w(Q,true);if(M.ie&&M.win){l.style.display="block"}}if(E){E(B)}}a=false}}}}();
/*
 * Copyright (c) 2009 Simo Kinnunen.
 * Licensed under the MIT license.
 */
var Cufon=(function(){var K=function(){return K.replace.apply(null,arguments)};var U=K.DOM={ready:(function(){var Z=false,b={loaded:1,complete:1};var Y=[],a=function(){if(Z){return}Z=true;for(var c;c=Y.shift();c()){}};if(document.addEventListener){document.addEventListener("DOMContentLoaded",a,false);window.addEventListener("pageshow",a,false)}if(!window.opera&&document.readyState){(function(){b[document.readyState]?a():setTimeout(arguments.callee,10)})()}if(document.readyState&&document.createStyleSheet){(function(){try{document.body.doScroll("left");a()}catch(c){setTimeout(arguments.callee,1)}})()}O(window,"load",a);return function(c){if(!arguments.length){a()}else{Z?c():Y.push(c)}}})()};var L=K.CSS={Size:function(Z,Y){this.value=parseFloat(Z);this.unit=String(Z).match(/[a-z%]*$/)[0]||"px";this.convert=function(a){return a/Y*this.value};this.convertFrom=function(a){return a/this.value*Y};this.toString=function(){return this.value+this.unit}},getStyle:function(Z){var Y=document.defaultView;if(Y&&Y.getComputedStyle){return new A(Y.getComputedStyle(Z,null))}if(Z.currentStyle){return new A(Z.currentStyle)}return new A(Z.style)},ready:(function(){var a=false;var Z=[],b=function(){a=true;for(var d;d=Z.shift();d()){}};var Y=Object.prototype.propertyIsEnumerable?F("style"):{length:0};var c=F("link");U.ready(function(){var g=0,f;for(var e=0,d=c.length;f=c[e],e<d;++e){if(!f.disabled&&f.rel.toLowerCase()=="stylesheet"){++g}}if(document.styleSheets.length>=Y.length+g){b()}else{setTimeout(arguments.callee,10)}});return function(d){if(a){d()}else{Z.push(d)}}})(),supports:function(a,Z){var Y=document.createElement("span").style;if(Y[a]===undefined){return false}Y[a]=Z;return Y[a]===Z},textAlign:function(b,a,Y,Z){if(a.get("textAlign")=="right"){if(Y>0){b=" "+b}}else{if(Y<Z-1){b+=" "}}return b},textDecoration:function(d,c){if(!c){c=this.getStyle(d)}var Z={underline:null,overline:null,"line-through":null};for(var Y=d;Y.parentNode&&Y.parentNode.nodeType==1;){var b=true;for(var a in Z){if(Z[a]){continue}if(c.get("textDecoration").indexOf(a)!=-1){Z[a]=c.get("color")}b=false}if(b){break}c=this.getStyle(Y=Y.parentNode)}return Z},textShadow:I(function(c){if(c=="none"){return null}var b=[],d={},Y,Z=0;var a=/(#[a-f0-9]+|[a-z]+\(.*?\)|[a-z]+)|(-?[\d.]+[a-z%]*)|,/ig;while(Y=a.exec(c)){if(Y[0]==","){b.push(d);d={},Z=0}else{if(Y[1]){d.color=Y[1]}else{d[["offX","offY","blur"][Z++]]=Y[2]}}}b.push(d);return b}),color:I(function(Z){var Y={};Y.color=Z.replace(/^rgba\((.*?),\s*([\d.]+)\)/,function(b,a,c){Y.opacity=parseFloat(c);return"rgb("+a+")"});return Y}),textTransform:function(Z,Y){return Z[{uppercase:"toUpperCase",lowercase:"toLowerCase"}[Y.get("textTransform")]||"toString"]()}};function Q(Z){var Y=this.face=Z.face;this.glyphs=Z.glyphs;this.w=Z.w;this.baseSize=parseInt(Y["units-per-em"],10);this.family=Y["font-family"].toLowerCase();this.weight=Y["font-weight"];this.style=Y["font-style"]||"normal";this.viewBox=(function(){var b=Y.bbox.split(/\s+/);var a={minX:parseInt(b[0],10),minY:parseInt(b[1],10),maxX:parseInt(b[2],10),maxY:parseInt(b[3],10)};a.width=a.maxX-a.minX,a.height=a.maxY-a.minY;a.toString=function(){return[this.minX,this.minY,this.width,this.height].join(" ")};return a})();this.ascent=-parseInt(Y.ascent,10);this.descent=-parseInt(Y.descent,10);this.height=-this.ascent+this.descent}function E(){var Z={},Y={oblique:"italic",italic:"oblique"};this.add=function(a){(Z[a.style]||(Z[a.style]={}))[a.weight]=a};this.get=function(e,f){var d=Z[e]||Z[Y[e]]||Z.normal||Z.italic||Z.oblique;if(!d){return null}f={normal:400,bold:700}[f]||parseInt(f,10);if(d[f]){return d[f]}var b={1:1,99:0}[f%100],h=[],c,a;if(b===undefined){b=f>400}if(f==500){f=400}for(var g in d){g=parseInt(g,10);if(!c||g<c){c=g}if(!a||g>a){a=g}h.push(g)}if(f<c){f=c}if(f>a){f=a}h.sort(function(j,i){return(b?(j>f&&i>f)?j<i:j>i:(j<f&&i<f)?j>i:j<i)?-1:1});return d[h[0]]}}function P(){function a(c,d){if(c.contains){return c.contains(d)}return c.compareDocumentPosition(d)&16}function Y(d){var c=d.relatedTarget;if(!c||a(this,c)){return}Z(this)}function b(c){Z(this)}function Z(c){setTimeout(function(){K.replace(c,D.get(c).options,true)},10)}this.attach=function(c){if(c.onmouseenter===undefined){O(c,"mouseover",Y);O(c,"mouseout",Y)}else{O(c,"mouseenter",b);O(c,"mouseleave",b)}}}function X(){var a={},Y=0;function Z(b){return b.cufid||(b.cufid=++Y)}this.get=function(b){var c=Z(b);return a[c]||(a[c]={})}}function A(Y){var a={},Z={};this.get=function(b){return a[b]!=undefined?a[b]:Y[b]};this.getSize=function(c,b){return Z[c]||(Z[c]=new L.Size(this.get(c),b))};this.extend=function(b){for(var c in b){a[c]=b[c]}return this}}function O(Z,Y,a){if(Z.addEventListener){Z.addEventListener(Y,a,false)}else{if(Z.attachEvent){Z.attachEvent("on"+Y,function(){return a.call(Z,window.event)})}}}function R(Z,Y){var a=D.get(Z);if(a.options){return Z}if(Y.hover&&Y.hoverables[Z.nodeName.toLowerCase()]){B.attach(Z)}a.options=Y;return Z}function I(Y){var Z={};return function(a){if(!Z.hasOwnProperty(a)){Z[a]=Y.apply(null,arguments)}return Z[a]}}function C(d,c){if(!c){c=L.getStyle(d)}var Z=c.get("fontFamily").split(/\s*,\s*/),b;for(var a=0,Y=Z.length;a<Y;++a){b=Z[a].replace(/^(["'])(.*?)\1$/,"$2").toLowerCase();if(H[b]){return H[b].get(c.get("fontStyle"),c.get("fontWeight"))}}return null}function F(Y){return document.getElementsByTagName(Y)}function G(){var Y={},b;for(var a=0,Z=arguments.length;a<Z;++a){for(b in arguments[a]){Y[b]=arguments[a][b]}}return Y}function M(b,k,Z,m,c,a){var j=m.separate;if(j=="none"){return W[m.engine].apply(null,arguments)}var h=document.createDocumentFragment(),e;var f=k.split(N[j]),Y=(j=="words");if(Y&&S){if(/^\s/.test(k)){f.unshift("")}if(/\s$/.test(k)){f.push("")}}for(var g=0,d=f.length;g<d;++g){e=W[m.engine](b,Y?L.textAlign(f[g],Z,g,d):f[g],Z,m,c,a,g<d-1);if(e){h.appendChild(e)}}return h}function J(Z,g){var a,Y,d,f;for(var b=R(Z,g).firstChild;b;b=d){d=b.nextSibling;f=false;if(b.nodeType==1){if(!b.firstChild){continue}if(!/cufon/.test(b.className)){arguments.callee(b,g);continue}else{f=true}}if(!Y){Y=L.getStyle(Z).extend(g)}if(!a){a=C(Z,Y)}if(!a){continue}if(f){W[g.engine](a,null,Y,g,b,Z);continue}var e=b.data;if(e===""){continue}var c=M(a,e,Y,g,b,Z);if(c){b.parentNode.replaceChild(c,b)}else{b.parentNode.removeChild(b)}}}var S=" ".split(/\s+/).length==0;var D=new X();var B=new P();var V=[];var W={},H={},T={enableTextDecoration:false,engine:null,hover:false,hoverables:{a:true},printable:true,selector:(window.Sizzle||window.jQuery||(window.dojo&&dojo.query)||(window.$$&&function(Y){return $$(Y)})||(window.$&&function(Y){return $(Y)})||(document.querySelectorAll&&function(Y){return document.querySelectorAll(Y)})||F),separate:"words",textShadow:"none"};var N={words:/\s+/,characters:""};K.now=function(){U.ready();return K};K.refresh=function(){var a=V.splice(0,V.length);for(var Z=0,Y=a.length;Z<Y;++Z){K.replace.apply(null,a[Z])}return K};K.registerEngine=function(Z,Y){if(!Y){return K}W[Z]=Y;return K.set("engine",Z)};K.registerFont=function(a){var Y=new Q(a),Z=Y.family;if(!H[Z]){H[Z]=new E()}H[Z].add(Y);return K.set("fontFamily",Z)};K.replace=function(a,Z,Y){Z=G(T,Z);if(!Z.engine){return K}if(typeof Z.textShadow=="string"){Z.textShadow=L.textShadow(Z.textShadow)}if(!Y){V.push(arguments)}if(a.nodeType||typeof a=="string"){a=[a]}L.ready(function(){for(var c=0,b=a.length;c<b;++c){var d=a[c];if(typeof d=="string"){K.replace(Z.selector(d),Z,true)}else{J(d,Z)}}});return K};K.set=function(Y,Z){T[Y]=Z;return K};return K})();Cufon.registerEngine("canvas",(function(){var B=document.createElement("canvas");if(!B||!B.getContext||!B.getContext.apply){return null}B=null;var A=Cufon.CSS.supports("display","inline-block");var E=!A&&(document.compatMode=="BackCompat"||/frameset|transitional/i.test(document.doctype.publicId));var F=document.createElement("style");F.type="text/css";F.appendChild(document.createTextNode(".cufon-canvas{text-indent:0}@media screen,projection{.cufon-canvas{display:inline;display:inline-block;position:relative;vertical-align:middle"+(E?"":";font-size:1px;line-height:1px")+"}.cufon-canvas .cufon-alt{position:absolute;left:-10000in;font-size:1px}"+(A?".cufon-canvas canvas{position:relative}":".cufon-canvas canvas{position:absolute}")+"}@media print{.cufon-canvas{padding:0 !important}.cufon-canvas canvas{display:none}.cufon-canvas .cufon-alt{display:inline}}"));document.getElementsByTagName("head")[0].appendChild(F);function D(O,H){var M=0,L=0;var G=[],N=/([mrvxe])([^a-z]*)/g,J;generate:for(var I=0;J=N.exec(O);++I){var K=J[2].split(",");switch(J[1]){case"v":G[I]={m:"bezierCurveTo",a:[M+~~K[0],L+~~K[1],M+~~K[2],L+~~K[3],M+=~~K[4],L+=~~K[5]]};break;case"r":G[I]={m:"lineTo",a:[M+=~~K[0],L+=~~K[1]]};break;case"m":G[I]={m:"moveTo",a:[M=~~K[0],L=~~K[1]]};break;case"x":G[I]={m:"closePath"};break;case"e":break generate}H[G[I].m].apply(H,G[I].a)}return G}function C(K,J){for(var I=0,H=K.length;I<H;++I){var G=K[I];J[G.m].apply(J,G.a)}}return function(q,T,k,P,X,r){var I=(T===null);var V=q.viewBox;var J=k.getSize("fontSize",q.baseSize);var h=k.get("letterSpacing");h=(h=="normal")?0:J.convertFrom(parseInt(h,10));var W=0,j=0,f=0,R=0;var U=P.textShadow,d=[];if(U){for(var p=0,m=U.length;p<m;++p){var Z=U[p];var c=J.convertFrom(parseFloat(Z.offX));var b=J.convertFrom(parseFloat(Z.offY));d[p]=[c,b];if(b<W){W=b}if(c>j){j=c}if(b>f){f=b}if(c<R){R=c}}}var u=Cufon.CSS.textTransform(I?X.alt:T,k).split("");var G=0,S=null;for(var p=0,m=u.length;p<m;++p){var Q=q.glyphs[u[p]]||q.missingGlyph;if(!Q){continue}G+=S=Number(Q.w||q.w)+h}if(S===null){return null}j+=(V.width-S);R+=V.minX;var O,K;if(I){O=X;K=X.firstChild}else{O=document.createElement("span");O.className="cufon cufon-canvas";O.alt=T;K=document.createElement("canvas");O.appendChild(K);if(P.printable){var n=document.createElement("span");n.className="cufon-alt";n.appendChild(document.createTextNode(T));O.appendChild(n)}}var v=O.style;var a=K.style;var H=J.convert(V.height-W+f);var t=Math.ceil(H);var e=t/H;K.width=Math.ceil(J.convert(G+j-R)*e);K.height=t;W+=V.minY;a.top=Math.round(J.convert(W-q.ascent))+"px";a.left=Math.round(J.convert(R))+"px";var N=Math.ceil(J.convert(G*e))+"px";if(A){v.width=N;v.height=J.convert(q.height)+"px"}else{v.paddingLeft=N;v.paddingBottom=(J.convert(q.height)-1)+"px"}var s=K.getContext("2d"),Y=t/V.height;s.scale(Y,Y);s.translate(-R,-W);s.lineWidth=q.face["underline-thickness"];s.save();function L(i,g){s.strokeStyle=g;s.beginPath();s.moveTo(0,i);s.lineTo(G,i);s.stroke()}var M=P.enableTextDecoration?Cufon.CSS.textDecoration(r,k):{};if(M.underline){L(-q.face["underline-position"],M.underline)}if(M.overline){L(q.ascent,M.overline)}s.fillStyle=k.get("color");function o(){for(var w=0,g=u.length;w<g;++w){var x=q.glyphs[u[w]]||q.missingGlyph;if(!x){continue}s.beginPath();if(x.d){if(x.code){C(x.code,s)}else{x.code=D("m"+x.d,s)}}s.fill();s.translate(Number(x.w||q.w)+h,0)}}if(U){for(var p=0,m=U.length;p<m;++p){var Z=U[p];s.save();s.fillStyle=Z.color;s.translate.apply(s,d[p]);o();s.restore()}}o();s.restore();if(M["line-through"]){L(-q.descent,M["line-through"])}return O}})());Cufon.registerEngine("vml",(function(){if(!document.namespaces){return}document.write('<!--[if vml]><script type="text/javascript">Cufon.vmlEnabled=true;<\/script><![endif]-->');if(!Cufon.vmlEnabled){return}if(document.namespaces.cvml==null){document.namespaces.add("cvml","urn:schemas-microsoft-com:vml");document.write('<style type="text/css">.cufon-vml-canvas{text-indent:0}@media screen{cvml\\:shape,cvml\\:group,cvml\\:shadow{behavior:url(#default#VML);display:block;antialias:true;position:absolute}.cufon-vml-canvas{position:absolute;text-align:left}.cufon-vml{display:inline-block;position:relative;vertical-align:middle}.cufon-vml .cufon-alt{position:absolute;left:-10000in;font-size:1px}a .cufon-vml{cursor:pointer}}@media print{.cufon-vml *{display:none}.cufon-vml .cufon-alt{display:inline}}</style>')}function B(C,D){return A(C,/(?:em|ex|%)$/i.test(D)?"1em":D)}function A(F,G){if(/px$/i.test(G)){return parseFloat(G)}var E=F.style.left,D=F.runtimeStyle.left;F.runtimeStyle.left=F.currentStyle.left;F.style.left=G;var C=F.style.pixelLeft;F.style.left=E;F.runtimeStyle.left=D;return C}return function(r,U,m,R,Y,s,h){var F=(U===null);if(F){U=Y.alt}var W=r.viewBox;var G=m.computedFontSize||(m.computedFontSize=new Cufon.CSS.Size(B(s,m.get("fontSize"))+"px",r.baseSize));var g=m.computedLSpacing;if(g==undefined){g=m.get("letterSpacing");m.computedLSpacing=g=(g=="normal")?0:~~G.convertFrom(A(s,g))}var O,H;if(F){O=Y;H=Y.firstChild}else{O=document.createElement("span");O.className="cufon cufon-vml";O.alt=U;H=document.createElement("span");H.className="cufon-vml-canvas";O.appendChild(H);if(R.printable){var p=document.createElement("span");p.className="cufon-alt";p.appendChild(document.createTextNode(U));O.appendChild(p)}if(!h){O.appendChild(document.createElement("cvml:group"))}}var x=O.style;var b=H.style;var D=G.convert(W.height),u=Math.ceil(D);var f=u/D;var e=W.minX,d=W.minY;b.height=u;b.top=Math.round(G.convert(d-r.ascent));b.left=Math.round(G.convert(e));x.height=G.convert(r.height)+"px";var K=R.enableTextDecoration?Cufon.CSS.textDecoration(s,m):{};var T=m.get("color");var v=Cufon.CSS.textTransform(U,m).split("");var C=0,c=0,L=null;var S,M,V=R.textShadow;for(var q=0,o=0,n=v.length;q<n;++q){S=r.glyphs[v[q]]||r.missingGlyph;if(S){C+=L=~~(S.w||r.w)+g}}if(L===null){return null}var N=-e+C+(W.width-L);var w=G.convert(N*f),j=Math.round(w);var a=N+","+W.height,E;var X="r"+a+"nsnf";for(q=0;q<n;++q){S=r.glyphs[v[q]]||r.missingGlyph;if(!S){continue}if(F){M=H.childNodes[o];if(M.firstChild){M.removeChild(M.firstChild)}}else{M=document.createElement("cvml:shape");H.appendChild(M)}M.stroked="f";M.coordsize=a;M.coordorigin=E=(e-c)+","+d;M.path=(S.d?"m"+S.d+"xe":"")+"m"+E+X;M.fillcolor=T;var t=M.style;t.width=j;t.height=u;if(V){var J=V[0],I=V[1];var Q=Cufon.CSS.color(J.color),P;var Z=document.createElement("cvml:shadow");Z.on="t";Z.color=Q.color;Z.offset=J.offX+","+J.offY;if(I){P=Cufon.CSS.color(I.color);Z.type="double";Z.color2=P.color;Z.offset2=I.offX+","+I.offY}Z.opacity=Q.opacity||(P&&P.opacity)||1;M.appendChild(Z)}c+=~~(S.w||r.w)+g;++o}x.width=Math.max(Math.ceil(G.convert(C*f)),0);return O}})());
/*!
 * The following copyright notice may not be removed under any circumstances.
 * 
 * Copyright:
 *  The digitally encoded machine readable software for producing the Typefaces
 * licensed to you is copyrighted (c) 1990 Adobe Systems. All Rights Reserved.
 * This software is the property of Adobe Systems Incorporated and its licensors,
 * and may not be reproduced, used,  displayed, modified, disclosed or transferred
 * without the express  written approval of Adobe.  The digitally encoded
 * machine readable outline data for producing the Typefaces licensed to you is
 * copyrighted (c) 1981 Linotype AG and/or its subsidiaries. All Rights Reserved.
 * This data is the property of Linotype AG and/or its subsidiaries and may not be
 * reproduced, used, displayed, modified, disclosed or  transferred without the
 * express written approval of Linotype AG  and/or its subsidiaries. 12
 * Helvetica* 57 Condensed 37472
 */
Cufon.registerFont({"w":444,"face":{"font-family":"Helvetica Neue Condensed","font-weight":400,"font-stretch":"condensed","units-per-em":"1000","panose-1":"2 0 5 6 0 0 0 0 0 0","ascent":"800","descent":"-200","x-height":"14","bbox":"-37 -895 771 211.557","underline-thickness":"50","underline-position":"-100","stemh":"66","stemv":"84","unicode-range":"U+0020-U+00FC"},"glyphs":{" ":{"w":240},"!":{"d":"99,-186r-16,-528r92,0r-16,528r-60,0xm83,0r0,-96r92,0r0,96r-92,0","w":258},"\"":{"d":"87,-460r0,-254r66,0r0,254r-66,0xm254,-460r0,-254r66,0r0,254r-66,0","w":407},"#":{"d":"79,0r26,-205r-82,0r0,-66r90,0r19,-154r-87,0r0,-66r96,0r25,-203r66,0r-25,203r106,0r25,-203r66,0r-25,203r78,0r0,66r-87,0r-19,154r83,0r0,66r-91,0r-26,205r-66,0r26,-205r-106,0r-26,205r-66,0xm198,-425r-19,154r106,0r19,-154r-106,0","w":480},"$":{"d":"259,-306r0,248v62,-5,108,-52,108,-121v0,-74,-48,-105,-108,-127xm217,-405r0,-231v-61,8,-95,46,-95,111v0,68,41,99,95,120xm217,-708r0,-58r42,0r0,58v122,6,178,72,180,194r-88,0v0,-66,-23,-115,-92,-122r0,245v92,31,200,54,200,198v0,150,-104,201,-200,207r0,94r-42,0r0,-94v-151,-6,-196,-89,-196,-232r88,0v0,73,4,150,108,160r0,-262v-90,-29,-187,-59,-187,-196v0,-63,26,-182,187,-192","w":480},"%":{"d":"177,-378v56,0,59,-56,59,-138v0,-82,-3,-138,-59,-138v-56,0,-59,56,-59,138v0,82,3,138,59,138xm186,14r310,-722r70,0r-310,722r-70,0xm582,-40v56,0,59,-56,59,-138v0,-82,-3,-138,-59,-138v-56,0,-59,56,-59,138v0,82,3,138,59,138xm177,-324v-119,0,-131,-92,-131,-192v0,-100,12,-192,131,-192v119,0,131,92,131,192v0,100,-12,192,-131,192xm582,14v-119,0,-131,-92,-131,-192v0,-100,12,-192,131,-192v119,0,131,92,131,192v0,100,-12,192,-131,192","w":759},"&":{"d":"238,-453v34,-35,84,-68,83,-125v0,-41,-30,-70,-72,-70v-43,0,-71,29,-71,70v0,40,36,91,60,125xm372,-127r-157,-227v-57,34,-102,88,-102,163v0,87,61,133,131,133v56,0,94,-30,128,-69xm275,-400r141,202v14,-36,23,-76,28,-139r78,0v0,52,-31,173,-58,208r92,129r-95,0r-48,-67v-55,52,-99,81,-176,81v-174,0,-212,-133,-212,-198v0,-100,77,-178,149,-224v-28,-49,-74,-101,-74,-166v0,-84,67,-140,148,-140v90,0,151,39,151,136v1,83,-71,132,-124,178","w":556},"(":{"d":"189,-714r48,0v-154,272,-143,625,0,898r-48,0v-192,-260,-194,-638,0,-898","w":241},")":{"d":"52,184r-48,0v154,-272,143,-625,0,-898r48,0v192,260,194,638,0,898","w":241},"*":{"d":"146,-595r0,-119r60,0r0,119r107,-41r22,58r-113,34r76,94r-50,37r-72,-102r-72,102r-50,-37r76,-94r-113,-34r22,-58","w":352},"+":{"d":"267,0r0,-220r-220,0r0,-66r220,0r0,-220r66,0r0,220r220,0r0,66r-220,0r0,220r-66,0","w":600},",":{"d":"74,0r0,-106r92,0v-4,119,22,221,-92,254r0,-47v42,-19,45,-48,44,-101r-44,0","w":240},"-":{"d":"54,-245r0,-78r244,0r0,78r-244,0","w":352},".":{"d":"74,0r0,-106r92,0r0,106r-92,0","w":240},"\/":{"d":"-10,14r232,-742r66,0r-232,742r-66,0","w":278},"0":{"d":"240,14v-191,0,-202,-190,-202,-358v0,-156,11,-364,202,-364v191,0,202,190,202,364v0,150,-11,358,-202,358xm126,-344v0,149,6,292,114,292v108,0,114,-143,114,-292v0,-156,-6,-298,-114,-298v-108,0,-114,142,-114,298","w":480},"1":{"d":"67,-532r0,-60v89,-5,171,-16,175,-116r60,0r0,708r-84,0r0,-532r-151,0","w":480},"2":{"d":"438,-78r0,78r-396,0v0,-166,114,-258,211,-339v58,-48,94,-92,94,-170v0,-61,-27,-127,-103,-127v-109,0,-112,113,-112,153r-88,0v0,-134,56,-225,201,-225v164,0,190,127,190,189v0,158,-133,236,-224,320v-38,35,-67,74,-77,121r304,0","w":480},"3":{"d":"180,-333r0,-66v101,11,152,-37,152,-125v0,-65,-24,-118,-92,-118v-93,0,-102,86,-102,138r-88,0v0,-121,57,-204,188,-204v148,0,182,105,182,184v0,73,-40,131,-110,154v80,16,131,67,131,165v0,129,-65,219,-201,219v-194,0,-201,-159,-201,-206r88,0v0,65,32,140,113,140v52,0,113,-26,113,-146v0,-100,-61,-146,-173,-135","w":480},"4":{"d":"284,-570r-178,327r180,0r0,-327r-2,0xm30,-250r256,-458r84,0r0,465r80,0r0,72r-80,0r0,171r-84,0r0,-171r-256,0r0,-79","w":480},"5":{"d":"58,-331r39,-363r316,0r0,78r-249,0r-28,205r2,2v29,-35,76,-53,124,-53v106,0,178,84,178,233v0,132,-58,243,-206,243v-168,0,-194,-139,-194,-196r88,0v0,37,14,130,108,130v100,0,116,-112,116,-184v0,-78,-29,-160,-118,-160v-61,0,-100,52,-100,69","w":480},"6":{"d":"429,-538r-88,0v0,-59,-33,-104,-93,-104v-118,0,-125,176,-125,213v0,18,-4,42,2,56v14,-26,57,-79,135,-79v123,0,185,91,185,224v0,137,-68,242,-200,242v-196,0,-210,-189,-210,-336v0,-162,10,-386,215,-386v165,0,179,137,179,170xm133,-216v0,74,24,164,112,164v88,0,112,-90,112,-164v0,-74,-18,-164,-112,-164v-94,0,-112,90,-112,164","w":480},"7":{"d":"442,-621v-101,132,-218,377,-236,621r-98,0v31,-238,128,-453,254,-616r-324,0r0,-78r404,0r0,73","w":480},"8":{"d":"37,-195v0,-95,40,-154,125,-182v-71,-29,-103,-75,-103,-151v0,-114,69,-180,181,-180v112,0,181,66,181,180v0,76,-32,122,-103,151v85,28,125,87,125,182v0,93,-44,209,-203,209v-159,0,-203,-116,-203,-209xm240,-642v-65,0,-93,49,-93,116v0,66,28,116,93,116v64,0,93,-50,93,-116v0,-67,-29,-116,-93,-116xm125,-198v0,83,33,146,115,146v82,0,115,-63,115,-146v0,-83,-33,-146,-115,-146v-82,0,-115,63,-115,146","w":480},"9":{"d":"51,-156r88,0v0,58,33,104,93,104v118,0,125,-177,125,-213v0,-18,4,-42,-2,-56v-14,26,-57,79,-135,79v-123,0,-185,-91,-185,-224v0,-137,68,-242,200,-242v196,0,210,190,210,336v0,162,-10,386,-215,386v-165,0,-179,-137,-179,-170xm347,-478v0,-75,-24,-164,-112,-164v-88,0,-112,89,-112,164v0,75,18,164,112,164v94,0,112,-89,112,-164","w":480},":":{"d":"74,-400r0,-106r92,0r0,106r-92,0xm74,0r0,-106r92,0r0,106r-92,0","w":240},";":{"d":"74,0r0,-106r92,0v-4,119,22,221,-92,254r0,-47v42,-19,45,-48,44,-101r-44,0xm74,-400r0,-106r92,0r0,106r-92,0","w":240},"<":{"d":"47,-223r0,-60r506,-231r0,66r-428,195r428,195r0,66","w":600},"=":{"d":"47,-322r0,-66r506,0r0,66r-506,0xm47,-118r0,-66r506,0r0,66r-506,0","w":600},">":{"d":"47,8r0,-66r428,-195r-428,-195r0,-66r506,231r0,60","w":600},"?":{"d":"119,-504r-84,0v0,-118,57,-218,186,-218v183,0,238,209,138,329v-41,50,-125,113,-110,207r-78,0v0,-40,0,-87,19,-123v23,-43,77,-98,101,-128v53,-67,40,-213,-67,-213v-97,0,-105,97,-105,146xm165,0r0,-96r92,0r0,96r-92,0"},"@":{"d":"240,-293v0,56,40,96,94,96v93,0,155,-136,155,-212v0,-45,-30,-100,-81,-100v-97,0,-168,123,-168,216xm524,-487r22,-63r56,0r-84,282v-10,30,-20,71,20,71v91,0,167,-107,167,-218v0,-151,-134,-253,-305,-253v-172,0,-305,136,-305,311v0,178,133,311,305,311v123,0,217,-38,271,-111r63,0v-64,110,-180,171,-334,171v-205,0,-371,-166,-371,-371v0,-205,166,-371,371,-371v216,0,371,129,371,309v0,173,-140,282,-258,282v-43,0,-62,-23,-72,-59v-31,32,-66,59,-125,59v-73,0,-142,-61,-142,-150v0,-138,93,-282,234,-282v51,0,91,26,116,82","w":800},"A":{"d":"-8,0r206,-714r118,0r192,714r-92,0r-51,-196r-228,0r-53,196r-92,0xm254,-613r-99,345r192,0r-91,-345r-2,0","w":500},"B":{"d":"146,-340r0,268r120,0v93,0,125,-63,125,-132v-2,-141,-112,-141,-245,-136xm58,0r0,-714v201,5,397,-46,402,183v2,67,-43,128,-104,151v88,21,127,88,127,176v0,145,-82,204,-231,204r-194,0xm146,-642r0,236r101,0v37,0,121,-9,121,-119v0,-74,-37,-117,-123,-117r-99,0","w":519},"C":{"d":"403,-245r92,0v-8,135,-61,259,-217,259v-203,0,-230,-191,-230,-371v0,-180,33,-371,230,-371v146,0,207,82,211,222r-92,0v-2,-81,-28,-150,-119,-150v-122,0,-138,134,-138,299v0,165,16,299,138,299v107,0,122,-100,125,-187","w":519},"D":{"d":"155,-642r0,570r92,0v152,0,169,-156,169,-284v0,-138,-9,-286,-169,-286r-92,0xm67,0r0,-714r191,0v222,0,250,160,250,357v0,180,-45,357,-241,357r-200,0","w":556},"E":{"d":"58,0r0,-714r369,0r0,78r-281,0r0,224r265,0r0,78r-265,0r0,256r293,0r0,78r-381,0","w":463},"F":{"d":"58,0r0,-714r369,0r0,78r-281,0r0,224r265,0r0,78r-265,0r0,334r-88,0"},"G":{"d":"489,-516r-92,0v-4,-75,-32,-140,-119,-140v-122,0,-138,134,-138,299v0,165,16,299,138,299v122,0,131,-146,131,-241r-141,0r0,-72r221,0r0,371r-66,0v-2,-31,4,-70,-2,-97v-19,61,-76,111,-154,111v-186,0,-219,-179,-219,-371v0,-180,33,-371,230,-371v205,0,210,175,211,212","w":537},"H":{"d":"479,-714r0,714r-88,0r0,-344r-245,0r0,344r-88,0r0,-714r88,0r0,292r245,0r0,-292r88,0","w":537},"I":{"d":"58,0r0,-714r88,0r0,714r-88,0","w":204},"J":{"d":"368,-714r0,509v0,127,-32,219,-179,219v-143,0,-176,-93,-167,-222r84,0v-4,80,3,150,82,150v80,0,92,-52,92,-150r0,-506r88,0","w":426},"K":{"d":"58,0r0,-714r88,0r0,346r2,0r247,-346r98,0r-216,298r234,416r-98,0r-193,-344r-74,101r0,243r-88,0","w":500},"L":{"d":"58,0r0,-714r88,0r0,636r290,0r0,78r-378,0"},"M":{"d":"60,0r0,-714r148,0r143,566r2,0r143,-566r148,0r0,714r-88,0r0,-624r-2,0r-158,624r-88,0r-158,-624r-2,0r0,624r-88,0","w":704},"N":{"d":"58,0r0,-714r114,0r236,596r2,0r0,-596r88,0r0,714r-121,0r-229,-578r-2,0r0,578r-88,0","w":556},"O":{"d":"278,-728v197,0,230,191,230,371v0,180,-33,371,-230,371v-197,0,-230,-191,-230,-371v0,-180,33,-371,230,-371xm278,-656v-122,0,-138,134,-138,299v0,165,16,299,138,299v122,0,138,-134,138,-299v0,-165,-16,-299,-138,-299","w":556},"P":{"d":"58,0r0,-714r182,0v62,0,221,0,221,205v0,133,-85,207,-206,207r-109,0r0,302r-88,0xm146,-642r0,268r105,0v64,0,118,-44,118,-139v0,-78,-37,-129,-124,-129r-99,0","w":481},"Q":{"d":"473,43r-72,-65v-31,23,-72,36,-123,36v-197,0,-230,-191,-230,-371v0,-180,33,-371,230,-371v197,0,230,191,230,371v0,103,-11,210,-58,282r72,66xm343,-75r-69,-62r49,-54r66,60v22,-54,27,-135,27,-226v0,-165,-16,-299,-138,-299v-122,0,-138,134,-138,299v0,165,16,299,138,299v26,0,48,-6,65,-17","w":556},"R":{"d":"58,0r0,-714r231,0v112,0,183,66,183,179v0,78,-27,160,-110,180r0,2v62,7,97,58,101,119r6,122v4,79,17,99,38,112r-106,0v-30,-43,-23,-144,-30,-214v-16,-149,-108,-92,-225,-104r0,318r-88,0xm146,-642r0,252r87,0v52,0,147,0,147,-138v0,-70,-47,-114,-129,-114r-105,0","w":519},"S":{"d":"449,-529r-88,0v0,-75,-27,-127,-111,-127v-74,0,-118,40,-118,116v0,201,337,81,337,342v0,165,-121,212,-222,212v-167,0,-216,-86,-216,-238r88,0v0,80,5,166,134,166v70,0,124,-50,124,-126v0,-202,-337,-85,-337,-347v0,-66,28,-197,209,-197v136,0,198,68,200,199","w":500},"T":{"d":"275,-636r0,636r-88,0r0,-636r-179,0r0,-78r447,0r0,78r-180,0","w":463},"U":{"d":"50,-212r0,-502r88,0r0,502v0,105,34,154,121,154v94,0,122,-54,122,-154r0,-502r88,0r0,502v0,137,-70,226,-210,226v-143,0,-209,-79,-209,-226","w":519},"V":{"d":"172,0r-174,-714r92,0r140,613r2,0r140,-613r92,0r-180,714r-112,0","w":462},"W":{"d":"150,0r-142,-714r88,0r109,584r2,0r101,-584r106,0r101,584r2,0r109,-584r88,0r-147,714r-107,0r-98,-578r-2,0r-103,578r-107,0","w":722},"X":{"d":"192,-363r-176,-351r98,0r130,267r131,-267r92,0r-178,351r190,363r-98,0r-142,-286r-145,286r-92,0","w":481},"Y":{"d":"187,-280r-189,-434r97,0r136,334r141,-334r92,0r-189,434r0,280r-88,0r0,-280","w":462},"Z":{"d":"23,0r0,-74r321,-562r-303,0r0,-78r395,0r0,81r-321,555r325,0r0,78r-417,0","w":463},"[":{"d":"78,184r0,-898r179,0r0,66r-101,0r0,766r101,0r0,66r-179,0","w":259},"\\":{"d":"222,14r-232,-742r66,0r232,742r-66,0","w":278},"]":{"d":"181,-714r0,898r-179,0r0,-66r101,0r0,-766r-101,0r0,-66r179,0","w":259},"^":{"d":"47,-261r229,-433r48,0r229,433r-66,0r-187,-361r-187,361r-66,0","w":600},"_":{"d":"0,125r0,-50r500,0r0,50r-500,0","w":500},"a":{"d":"126,-374r-84,0v0,-122,52,-176,180,-176v163,0,163,98,163,154r0,299v0,22,0,43,26,43v11,0,16,-2,20,-5r0,60v-52,4,-120,28,-125,-64r-2,0v-27,48,-79,77,-129,77v-100,0,-146,-60,-146,-156v0,-75,32,-127,101,-148r113,-34v61,-19,61,-36,61,-81v0,-50,-30,-79,-86,-79v-94,0,-92,83,-92,110xm301,-292v-56,56,-184,29,-184,148v0,54,19,92,76,92v55,0,108,-47,108,-102r0,-138"},"b":{"d":"134,-268v0,110,18,210,108,210v78,0,98,-88,98,-210v0,-128,-20,-210,-98,-210v-90,0,-108,106,-108,210xm55,0r0,-714r84,0r0,239r2,0v19,-46,70,-75,124,-75v145,0,163,170,163,282v0,151,-51,282,-175,282v-60,0,-102,-43,-118,-80r0,66r-80,0","w":463},"c":{"d":"394,-373r-84,0v0,-52,-21,-111,-85,-111v-52,0,-105,26,-105,222v0,70,1,210,102,210v72,0,88,-76,88,-134r84,0v0,85,-42,200,-176,200v-131,0,-186,-91,-186,-275v0,-134,26,-289,191,-289v146,0,171,115,171,177","w":426},"d":{"d":"123,-268v0,128,20,210,98,210v93,0,108,-88,108,-210v0,-104,-18,-210,-108,-210v-78,0,-98,82,-98,210xm408,-714r0,714r-80,0v-2,-21,4,-49,-2,-66v-11,40,-58,80,-116,80v-127,0,-175,-113,-175,-282v0,-112,18,-282,169,-282v50,0,97,33,120,75r0,-239r84,0","w":463},"e":{"d":"128,-324r191,0v3,-78,-9,-160,-93,-160v-96,0,-99,106,-98,160xm407,-258r-282,0v0,82,0,206,103,206v80,0,91,-84,91,-124r84,0v0,57,-34,190,-180,190v-131,0,-186,-91,-186,-275v0,-134,26,-289,191,-289v177,0,180,154,179,292"},"f":{"d":"80,0r0,-470r-78,0r0,-66r78,0v-6,-108,10,-191,116,-186r61,0r0,72v-51,-2,-93,-2,-93,51r0,63r92,0r0,66r-92,0r0,470r-84,0","w":259},"g":{"d":"221,-478v-78,0,-98,82,-98,210v0,87,13,196,97,196v91,0,109,-86,109,-196v0,-104,-18,-210,-108,-210xm408,-536r0,502v0,160,-74,218,-182,218v-33,0,-162,0,-176,-134r84,0v4,49,42,68,86,68v108,0,104,-83,104,-120v0,-22,4,-52,-2,-70v-18,45,-68,72,-121,72v-156,0,-166,-197,-166,-268v0,-145,39,-282,175,-282v60,0,102,44,118,82r0,-68r80,0","w":463},"h":{"d":"55,0r0,-714r84,0r0,239r2,0v22,-44,81,-75,129,-75v138,0,138,107,138,170r0,380r-84,0r0,-370v0,-41,-3,-108,-79,-108v-45,0,-106,30,-106,108r0,370r-84,0","w":463},"i":{"d":"60,0r0,-536r84,0r0,536r-84,0xm60,-618r0,-96r84,0r0,96r-84,0","w":204},"j":{"d":"144,-536r0,588v5,103,-62,144,-167,129r0,-72v10,1,21,3,31,3v52,0,52,-40,52,-90r0,-558r84,0xm144,-714r0,96r-84,0r0,-96r84,0","w":204},"k":{"d":"264,-334r191,334r-98,0r-149,-265r-69,84r0,181r-84,0r0,-714r84,0r0,425r2,0r188,-247r98,0"},"l":{"d":"60,0r0,-714r84,0r0,714r-84,0","w":204},"m":{"d":"63,0r0,-536r80,0v2,20,-4,47,2,63v22,-49,78,-77,130,-77v62,0,99,24,116,85v24,-47,72,-85,127,-85v141,0,141,107,141,170r0,380r-84,0r0,-370v0,-41,-3,-108,-72,-108v-39,0,-100,24,-100,108r0,370r-84,0r0,-370v0,-41,-3,-108,-72,-108v-39,0,-100,24,-100,108r0,370r-84,0","w":722},"n":{"d":"55,0r0,-536r80,0v2,20,-4,47,2,63v22,-49,78,-77,130,-77v141,0,141,107,141,170r0,380r-84,0r0,-370v0,-41,-3,-108,-79,-108v-45,0,-106,30,-106,108r0,370r-84,0","w":463},"o":{"d":"29,-268v0,-151,39,-282,193,-282v155,0,193,131,193,282v0,151,-39,282,-193,282v-155,0,-193,-131,-193,-282xm220,-52v89,0,107,-100,107,-216v0,-116,-17,-216,-107,-216v-85,0,-103,100,-103,216v0,116,17,216,103,216"},"p":{"d":"134,-268v0,104,18,210,108,210v78,0,98,-82,98,-220v0,-118,-20,-200,-98,-200v-93,0,-108,88,-108,210xm55,176r0,-712r80,0v2,21,-4,49,2,66v11,-40,58,-80,116,-80v127,0,175,113,175,272v0,122,-36,292,-175,292v-50,0,-91,-33,-114,-75r0,237r-84,0","w":463},"q":{"d":"329,-268v0,-122,-15,-210,-108,-210v-78,0,-98,82,-98,200v0,138,20,220,98,220v90,0,108,-106,108,-210xm324,176r0,-237r-2,0v-19,46,-64,75,-112,75v-139,0,-175,-146,-175,-292v0,-159,48,-272,175,-272v60,0,102,43,118,80r0,-66r80,0r0,712r-84,0","w":463},"r":{"d":"55,0r0,-536r84,0v2,25,-4,59,2,80v26,-61,75,-112,153,-88r0,82v-75,-16,-155,15,-155,123r0,339r-84,0","w":296},"s":{"d":"369,-379r-84,0v0,-68,-18,-105,-79,-105v-27,0,-87,7,-87,82v0,63,66,75,132,97v65,22,131,45,131,151v0,113,-73,168,-173,168v-182,0,-184,-135,-184,-190r84,0v0,65,18,124,100,124v27,0,89,-13,89,-89v0,-72,-66,-87,-131,-109v-65,-22,-132,-41,-132,-152v0,-100,78,-148,171,-148v156,0,162,108,163,171","w":407},"t":{"d":"80,-536r0,-156r84,0r0,156r93,0r0,66r-93,0r0,344v-10,59,44,65,92,57r0,69v-11,2,-33,6,-68,6v-87,0,-108,-36,-108,-106r0,-370r-78,0r0,-66r78,0","w":259},"u":{"d":"408,-536r0,536r-80,0v-2,-20,4,-47,-2,-63v-22,49,-78,77,-130,77v-141,0,-141,-107,-141,-170r0,-380r84,0r0,370v0,41,3,108,79,108v45,0,106,-30,106,-108r0,-370r84,0","w":463},"v":{"d":"155,0r-145,-536r92,0r100,430r2,0r100,-430r92,0r-145,536r-96,0","w":406},"w":{"d":"135,0r-125,-536r88,0r86,438r2,0r91,-438r99,0r89,438r2,0r83,-438r88,0r-127,536r-92,0r-94,-438r-2,0r-90,438r-98,0","w":648},"x":{"d":"153,-279r-137,-257r92,0r97,191r98,-191r92,0r-140,257r145,279r-92,0r-107,-212r-103,212r-92,0","w":406},"y":{"d":"168,11r-158,-547r92,0r106,430r2,0r94,-430r92,0r-155,572v-20,74,-42,140,-143,140v-33,0,-47,-2,-61,-3r0,-66v12,2,28,3,49,3v61,0,65,-55,82,-99","w":406},"z":{"d":"39,-464r0,-72r323,0r0,70r-240,394r238,0r0,72r-333,0r0,-66r243,-398r-231,0","w":389},"{":{"d":"2,-235r0,-60v44,0,76,-41,76,-111r0,-178v5,-132,70,-134,179,-130r0,66r-51,0v-49,0,-50,45,-50,82r0,172v1,100,-69,121,-88,130v22,3,88,31,88,128r0,172v0,37,1,82,50,82r51,0r0,66v-109,4,-179,2,-179,-130r0,-178v0,-70,-32,-111,-76,-111","w":259},"|":{"d":"78,14r0,-742r66,0r0,742r-66,0","w":222},"}":{"d":"257,-295r0,60v-44,0,-76,41,-76,111r0,178v-5,132,-70,134,-179,130r0,-66r51,0v49,0,50,-45,50,-82r0,-172v-1,-100,69,-121,88,-130v-22,-3,-88,-31,-88,-128r0,-172v0,-37,-1,-82,-50,-82r-51,0r0,-66v109,-4,179,-2,179,130r0,178v0,70,32,111,76,111","w":259},"~":{"d":"408,-182v-70,0,-146,-76,-211,-76v-46,0,-81,46,-99,73r-42,-46v30,-42,71,-93,136,-93v70,0,146,76,211,76v46,0,81,-46,99,-73r42,45v-30,43,-71,94,-136,94","w":600},"'":{"d":"87,-460r0,-254r66,0r0,254r-66,0","w":240},"`":{"d":"-16,-752r98,0r70,142r-60,0","w":204},"\u00e7":{"d":"151,81r47,-67v-117,-10,-166,-101,-166,-275v0,-134,26,-289,191,-289v146,0,171,115,171,177r-84,0v0,-52,-21,-111,-85,-111v-52,0,-105,26,-105,222v0,70,1,210,102,210v72,0,88,-76,88,-134r84,0v0,80,-37,186,-154,199r-29,41v5,4,24,-6,32,-4v34,0,80,21,80,76v0,89,-139,104,-206,66r15,-34v3,1,48,12,64,12v76,4,67,-80,8,-78v-21,0,-34,4,-38,7","w":426},"\u00c7":{"d":"198,81r46,-69v-172,-21,-196,-200,-196,-369v0,-180,33,-371,230,-371v146,0,207,82,211,222r-92,0v-2,-81,-28,-150,-119,-150v-122,0,-138,134,-138,299v0,165,16,299,138,299v107,0,122,-100,125,-187r92,0v-8,133,-60,256,-210,259r-27,40v5,4,24,-6,32,-4v34,0,80,21,80,76v0,89,-139,104,-206,66r15,-34v3,1,48,12,64,12v76,4,67,-80,8,-78v-21,0,-34,4,-38,7","w":519},"\u00c1":{"d":"207,-753r70,-142r98,0r-108,142r-60,0xm-8,0r206,-714r118,0r192,714r-92,0r-51,-196r-228,0r-53,196r-92,0xm254,-613r-99,345r192,0r-91,-345r-2,0","w":500},"\u00c2":{"d":"118,-753r101,-142r77,0r100,142r-78,0r-61,-88r-61,88r-78,0xm-8,0r206,-714r118,0r192,714r-92,0r-51,-196r-228,0r-53,196r-92,0xm254,-613r-99,345r192,0r-91,-345r-2,0","w":500},"\u00c4":{"d":"137,-777r0,-101r78,0r0,101r-78,0xm299,-777r0,-101r78,0r0,101r-78,0xm-8,0r206,-714r118,0r192,714r-92,0r-51,-196r-228,0r-53,196r-92,0xm254,-613r-99,345r192,0r-91,-345r-2,0","w":500},"\u00c0":{"d":"-8,0r206,-714r118,0r192,714r-92,0r-51,-196r-228,0r-53,196r-92,0xm254,-613r-99,345r192,0r-91,-345r-2,0xm139,-895r98,0r70,142r-60,0","w":500},"\u00c3":{"d":"203,-876v35,0,82,38,112,38v26,0,31,-27,35,-45r54,0v0,50,-29,111,-86,111v-42,0,-94,-38,-115,-38v-26,0,-36,27,-39,45r-54,0v0,-59,40,-111,93,-111xm-8,0r206,-714r118,0r192,714r-92,0r-51,-196r-228,0r-53,196r-92,0xm254,-613r-99,345r192,0r-91,-345r-2,0","w":500},"\u00c9":{"d":"194,-753r70,-142r98,0r-108,142r-60,0xm58,0r0,-714r369,0r0,78r-281,0r0,224r265,0r0,78r-265,0r0,256r293,0r0,78r-381,0","w":463},"\u00ca":{"d":"105,-753r101,-142r77,0r100,142r-78,0r-61,-88r-61,88r-78,0xm58,0r0,-714r369,0r0,78r-281,0r0,224r265,0r0,78r-265,0r0,256r293,0r0,78r-381,0","w":463},"\u00cb":{"d":"124,-777r0,-101r78,0r0,101r-78,0xm286,-777r0,-101r78,0r0,101r-78,0xm58,0r0,-714r369,0r0,78r-281,0r0,224r265,0r0,78r-265,0r0,256r293,0r0,78r-381,0","w":463},"\u00c8":{"d":"58,0r0,-714r369,0r0,78r-281,0r0,224r265,0r0,78r-265,0r0,256r293,0r0,78r-381,0xm126,-895r98,0r70,142r-60,0","w":463},"\u00cd":{"d":"52,-753r70,-142r98,0r-108,142r-60,0xm58,0r0,-714r88,0r0,714r-88,0","w":204},"\u00ce":{"d":"-37,-753r101,-142r77,0r100,142r-78,0r-61,-88r-61,88r-78,0xm58,0r0,-714r88,0r0,714r-88,0","w":204},"\u00cf":{"d":"-18,-777r0,-101r78,0r0,101r-78,0xm144,-777r0,-101r78,0r0,101r-78,0xm58,0r0,-714r88,0r0,714r-88,0","w":204},"\u00cc":{"d":"58,0r0,-714r88,0r0,714r-88,0xm-16,-895r98,0r70,142r-60,0","w":204},"\u00d3":{"d":"228,-753r70,-142r98,0r-108,142r-60,0xm278,-728v197,0,230,191,230,371v0,180,-33,371,-230,371v-197,0,-230,-191,-230,-371v0,-180,33,-371,230,-371xm278,-656v-122,0,-138,134,-138,299v0,165,16,299,138,299v122,0,138,-134,138,-299v0,-165,-16,-299,-138,-299","w":556},"\u00d4":{"d":"139,-753r101,-142r77,0r100,142r-78,0r-61,-88r-61,88r-78,0xm278,-728v197,0,230,191,230,371v0,180,-33,371,-230,371v-197,0,-230,-191,-230,-371v0,-180,33,-371,230,-371xm278,-656v-122,0,-138,134,-138,299v0,165,16,299,138,299v122,0,138,-134,138,-299v0,-165,-16,-299,-138,-299","w":556},"\u00d6":{"d":"158,-777r0,-101r78,0r0,101r-78,0xm320,-777r0,-101r78,0r0,101r-78,0xm278,-728v197,0,230,191,230,371v0,180,-33,371,-230,371v-197,0,-230,-191,-230,-371v0,-180,33,-371,230,-371xm278,-656v-122,0,-138,134,-138,299v0,165,16,299,138,299v122,0,138,-134,138,-299v0,-165,-16,-299,-138,-299","w":556},"\u00d2":{"d":"278,-728v197,0,230,191,230,371v0,180,-33,371,-230,371v-197,0,-230,-191,-230,-371v0,-180,33,-371,230,-371xm278,-656v-122,0,-138,134,-138,299v0,165,16,299,138,299v122,0,138,-134,138,-299v0,-165,-16,-299,-138,-299xm160,-895r98,0r70,142r-60,0","w":556},"\u00d5":{"d":"224,-876v35,0,82,38,112,38v26,0,31,-27,35,-45r54,0v0,50,-29,111,-86,111v-42,0,-94,-38,-115,-38v-26,0,-36,27,-39,45r-54,0v0,-59,40,-111,93,-111xm278,-728v197,0,230,191,230,371v0,180,-33,371,-230,371v-197,0,-230,-191,-230,-371v0,-180,33,-371,230,-371xm278,-656v-122,0,-138,134,-138,299v0,165,16,299,138,299v122,0,138,-134,138,-299v0,-165,-16,-299,-138,-299","w":556},"\u00da":{"d":"210,-753r70,-142r98,0r-108,142r-60,0xm50,-212r0,-502r88,0r0,502v0,105,34,154,121,154v94,0,122,-54,122,-154r0,-502r88,0r0,502v0,137,-70,226,-210,226v-143,0,-209,-79,-209,-226","w":519},"\u00db":{"d":"121,-753r101,-142r77,0r100,142r-78,0r-61,-88r-61,88r-78,0xm50,-212r0,-502r88,0r0,502v0,105,34,154,121,154v94,0,122,-54,122,-154r0,-502r88,0r0,502v0,137,-70,226,-210,226v-143,0,-209,-79,-209,-226","w":519},"\u00dc":{"d":"140,-777r0,-101r78,0r0,101r-78,0xm302,-777r0,-101r78,0r0,101r-78,0xm50,-212r0,-502r88,0r0,502v0,105,34,154,121,154v94,0,122,-54,122,-154r0,-502r88,0r0,502v0,137,-70,226,-210,226v-143,0,-209,-79,-209,-226","w":519},"\u00d9":{"d":"50,-212r0,-502r88,0r0,502v0,105,34,154,121,154v94,0,122,-54,122,-154r0,-502r88,0r0,502v0,137,-70,226,-210,226v-143,0,-209,-79,-209,-226xm142,-895r98,0r70,142r-60,0","w":519},"\u00e1":{"d":"172,-610r70,-142r98,0r-108,142r-60,0xm126,-374r-84,0v0,-122,52,-176,180,-176v163,0,163,98,163,154r0,299v0,22,0,43,26,43v11,0,16,-2,20,-5r0,60v-52,4,-120,28,-125,-64r-2,0v-27,48,-79,77,-129,77v-100,0,-146,-60,-146,-156v0,-75,32,-127,101,-148r113,-34v61,-19,61,-36,61,-81v0,-50,-30,-79,-86,-79v-94,0,-92,83,-92,110xm301,-292v-56,56,-184,29,-184,148v0,54,19,92,76,92v55,0,108,-47,108,-102r0,-138"},"\u00e2":{"d":"83,-610r101,-142r77,0r100,142r-78,0r-61,-88r-61,88r-78,0xm126,-374r-84,0v0,-122,52,-176,180,-176v163,0,163,98,163,154r0,299v0,22,0,43,26,43v11,0,16,-2,20,-5r0,60v-52,4,-120,28,-125,-64r-2,0v-27,48,-79,77,-129,77v-100,0,-146,-60,-146,-156v0,-75,32,-127,101,-148r113,-34v61,-19,61,-36,61,-81v0,-50,-30,-79,-86,-79v-94,0,-92,83,-92,110xm301,-292v-56,56,-184,29,-184,148v0,54,19,92,76,92v55,0,108,-47,108,-102r0,-138"},"\u00e4":{"d":"102,-634r0,-101r78,0r0,101r-78,0xm264,-634r0,-101r78,0r0,101r-78,0xm126,-374r-84,0v0,-122,52,-176,180,-176v163,0,163,98,163,154r0,299v0,22,0,43,26,43v11,0,16,-2,20,-5r0,60v-52,4,-120,28,-125,-64r-2,0v-27,48,-79,77,-129,77v-100,0,-146,-60,-146,-156v0,-75,32,-127,101,-148r113,-34v61,-19,61,-36,61,-81v0,-50,-30,-79,-86,-79v-94,0,-92,83,-92,110xm301,-292v-56,56,-184,29,-184,148v0,54,19,92,76,92v55,0,108,-47,108,-102r0,-138"},"\u00e0":{"d":"126,-374r-84,0v0,-122,52,-176,180,-176v163,0,163,98,163,154r0,299v0,22,0,43,26,43v11,0,16,-2,20,-5r0,60v-52,4,-120,28,-125,-64r-2,0v-27,48,-79,77,-129,77v-100,0,-146,-60,-146,-156v0,-75,32,-127,101,-148r113,-34v61,-19,61,-36,61,-81v0,-50,-30,-79,-86,-79v-94,0,-92,83,-92,110xm301,-292v-56,56,-184,29,-184,148v0,54,19,92,76,92v55,0,108,-47,108,-102r0,-138xm104,-752r98,0r70,142r-60,0"},"\u00e3":{"d":"168,-733v35,0,82,38,112,38v26,0,31,-27,35,-45r54,0v0,50,-29,111,-86,111v-42,0,-94,-38,-115,-38v-26,0,-36,27,-39,45r-54,0v0,-59,40,-111,93,-111xm126,-374r-84,0v0,-122,52,-176,180,-176v163,0,163,98,163,154r0,299v0,22,0,43,26,43v11,0,16,-2,20,-5r0,60v-52,4,-120,28,-125,-64r-2,0v-27,48,-79,77,-129,77v-100,0,-146,-60,-146,-156v0,-75,32,-127,101,-148r113,-34v61,-19,61,-36,61,-81v0,-50,-30,-79,-86,-79v-94,0,-92,83,-92,110xm301,-292v-56,56,-184,29,-184,148v0,54,19,92,76,92v55,0,108,-47,108,-102r0,-138"},"\u00e9":{"d":"172,-610r70,-142r98,0r-108,142r-60,0xm128,-324r191,0v3,-78,-9,-160,-93,-160v-96,0,-99,106,-98,160xm407,-258r-282,0v0,82,0,206,103,206v80,0,91,-84,91,-124r84,0v0,57,-34,190,-180,190v-131,0,-186,-91,-186,-275v0,-134,26,-289,191,-289v177,0,180,154,179,292"},"\u00ea":{"d":"83,-610r101,-142r77,0r100,142r-78,0r-61,-88r-61,88r-78,0xm128,-324r191,0v3,-78,-9,-160,-93,-160v-96,0,-99,106,-98,160xm407,-258r-282,0v0,82,0,206,103,206v80,0,91,-84,91,-124r84,0v0,57,-34,190,-180,190v-131,0,-186,-91,-186,-275v0,-134,26,-289,191,-289v177,0,180,154,179,292"},"\u00eb":{"d":"102,-634r0,-101r78,0r0,101r-78,0xm264,-634r0,-101r78,0r0,101r-78,0xm128,-324r191,0v3,-78,-9,-160,-93,-160v-96,0,-99,106,-98,160xm407,-258r-282,0v0,82,0,206,103,206v80,0,91,-84,91,-124r84,0v0,57,-34,190,-180,190v-131,0,-186,-91,-186,-275v0,-134,26,-289,191,-289v177,0,180,154,179,292"},"\u00e8":{"d":"128,-324r191,0v3,-78,-9,-160,-93,-160v-96,0,-99,106,-98,160xm407,-258r-282,0v0,82,0,206,103,206v80,0,91,-84,91,-124r84,0v0,57,-34,190,-180,190v-131,0,-186,-91,-186,-275v0,-134,26,-289,191,-289v177,0,180,154,179,292xm104,-752r98,0r70,142r-60,0"},"\u00ed":{"d":"60,0r0,-536r84,0r0,536r-84,0xm52,-610r70,-142r98,0r-108,142r-60,0","w":204},"\u00ee":{"d":"-37,-610r101,-142r77,0r100,142r-78,0r-61,-88r-61,88r-78,0xm60,0r0,-536r84,0r0,536r-84,0","w":204},"\u00ef":{"d":"60,0r0,-536r84,0r0,536r-84,0xm-18,-634r0,-101r78,0r0,101r-78,0xm144,-634r0,-101r78,0r0,101r-78,0","w":204},"\u00ec":{"d":"60,0r0,-536r84,0r0,536r-84,0xm-16,-752r98,0r70,142r-60,0","w":204},"\u00f3":{"d":"172,-610r70,-142r98,0r-108,142r-60,0xm29,-268v0,-151,39,-282,193,-282v155,0,193,131,193,282v0,151,-39,282,-193,282v-155,0,-193,-131,-193,-282xm220,-52v89,0,107,-100,107,-216v0,-116,-17,-216,-107,-216v-85,0,-103,100,-103,216v0,116,17,216,103,216"},"\u00f4":{"d":"83,-610r101,-142r77,0r100,142r-78,0r-61,-88r-61,88r-78,0xm29,-268v0,-151,39,-282,193,-282v155,0,193,131,193,282v0,151,-39,282,-193,282v-155,0,-193,-131,-193,-282xm220,-52v89,0,107,-100,107,-216v0,-116,-17,-216,-107,-216v-85,0,-103,100,-103,216v0,116,17,216,103,216"},"\u00f6":{"d":"102,-634r0,-101r78,0r0,101r-78,0xm264,-634r0,-101r78,0r0,101r-78,0xm29,-268v0,-151,39,-282,193,-282v155,0,193,131,193,282v0,151,-39,282,-193,282v-155,0,-193,-131,-193,-282xm220,-52v89,0,107,-100,107,-216v0,-116,-17,-216,-107,-216v-85,0,-103,100,-103,216v0,116,17,216,103,216"},"\u00f2":{"d":"29,-268v0,-151,39,-282,193,-282v155,0,193,131,193,282v0,151,-39,282,-193,282v-155,0,-193,-131,-193,-282xm220,-52v89,0,107,-100,107,-216v0,-116,-17,-216,-107,-216v-85,0,-103,100,-103,216v0,116,17,216,103,216xm104,-752r98,0r70,142r-60,0"},"\u00f5":{"d":"168,-733v35,0,82,38,112,38v26,0,31,-27,35,-45r54,0v0,50,-29,111,-86,111v-42,0,-94,-38,-115,-38v-26,0,-36,27,-39,45r-54,0v0,-59,40,-111,93,-111xm29,-268v0,-151,39,-282,193,-282v155,0,193,131,193,282v0,151,-39,282,-193,282v-155,0,-193,-131,-193,-282xm220,-52v89,0,107,-100,107,-216v0,-116,-17,-216,-107,-216v-85,0,-103,100,-103,216v0,116,17,216,103,216"},"\u00fa":{"d":"182,-610r70,-142r98,0r-108,142r-60,0xm408,-536r0,536r-80,0v-2,-20,4,-47,-2,-63v-22,49,-78,77,-130,77v-141,0,-141,-107,-141,-170r0,-380r84,0r0,370v0,41,3,108,79,108v45,0,106,-30,106,-108r0,-370r84,0","w":463},"\u00fb":{"d":"93,-610r101,-142r77,0r100,142r-78,0r-61,-88r-61,88r-78,0xm408,-536r0,536r-80,0v-2,-20,4,-47,-2,-63v-22,49,-78,77,-130,77v-141,0,-141,-107,-141,-170r0,-380r84,0r0,370v0,41,3,108,79,108v45,0,106,-30,106,-108r0,-370r84,0","w":463},"\u00fc":{"d":"112,-634r0,-101r78,0r0,101r-78,0xm274,-634r0,-101r78,0r0,101r-78,0xm408,-536r0,536r-80,0v-2,-20,4,-47,-2,-63v-22,49,-78,77,-130,77v-141,0,-141,-107,-141,-170r0,-380r84,0r0,370v0,41,3,108,79,108v45,0,106,-30,106,-108r0,-370r84,0","w":463},"\u00f9":{"d":"408,-536r0,536r-80,0v-2,-20,4,-47,-2,-63v-22,49,-78,77,-130,77v-141,0,-141,-107,-141,-170r0,-380r84,0r0,370v0,41,3,108,79,108v45,0,106,-30,106,-108r0,-370r84,0xm114,-752r98,0r70,142r-60,0","w":463},"\u00a0":{"w":240}}});
/*!
 * The following copyright notice may not be removed under any circumstances.
 * 
 * Copyright:
 *  The digitally encoded machine readable software for producing the Typefaces
 * licensed to you is copyrighted (c) 1990 Adobe Systems. All Rights Reserved.
 * This software is the property of Adobe Systems Incorporated and its licensors,
 * and may not be reproduced, used,  displayed, modified, disclosed or transferred
 * without the express  written approval of Adobe.  The digitally encoded
 * machine readable outline data for producing the Typefaces licensed to you is
 * copyrighted (c) 1981 Linotype AG and/or its subsidiaries. All Rights Reserved.
 * This data is the property of Linotype AG and/or its subsidiaries and may not be
 * reproduced, used, displayed, modified, disclosed or  transferred without the
 * express written approval of Linotype AG  and/or its subsidiaries. 12
 * Helvetica* 77 Bold Condensed 24472
 */
Cufon.registerFont({"w":480,"face":{"font-family":"Helvetica Neue Condensed","font-weight":700,"font-stretch":"normal","units-per-em":"1000","panose-1":"2 0 8 3 0 0 0 0 0 0","ascent":"800","descent":"-200","x-height":"14","bbox":"-30 -900 771 224","underline-thickness":"50","underline-position":"-100","stemh":"106","stemv":"138","unicode-range":"U+0020-U+00FC"},"glyphs":{" ":{"w":240},"!":{"d":"198,-199r-100,0r-19,-283r0,-232r138,0r0,232xm79,-132r138,0r0,132r-138,0r0,-132","w":296},"\"":{"d":"267,-393r0,-321r124,0r0,321r-124,0xm72,-393r0,-321r124,0r0,321r-124,0","w":463},"#":{"d":"0,-174r0,-112r87,0r16,-122r-73,0r0,-112r86,0r22,-174r96,0r-21,174r97,0r22,-174r97,0r-22,174r73,0r0,112r-86,0r-16,122r73,0r0,112r-86,0r-22,174r-97,0r22,-174r-98,0r-21,174r-97,0r22,-174r-74,0xm199,-408r-15,122r97,0r16,-122r-98,0"},"$":{"d":"269,-269r0,177v41,-9,58,-43,58,-80v0,-50,-20,-77,-58,-97xm205,-442r0,-160v-30,9,-49,34,-49,76v0,36,15,64,49,84xm205,101r0,-87v-175,-18,-198,-103,-196,-226r138,0v0,55,5,107,58,120r0,-202r-50,-18v-97,-35,-137,-102,-137,-192v0,-122,69,-191,187,-204r0,-69r64,0r0,69v153,16,187,99,185,203r-138,0v-1,-51,-13,-86,-47,-97r0,189v100,42,202,62,202,213v0,144,-70,205,-202,214r0,87r-64,0"},"%":{"d":"557,-181v0,79,4,119,44,119v40,0,44,-40,44,-119v0,-71,-4,-111,-44,-111v-40,0,-44,40,-44,111xm451,-177v0,-129,26,-191,150,-191v124,0,150,62,150,191v0,129,-26,191,-150,191v-124,0,-150,-62,-150,-191xm27,-517v0,-129,26,-191,150,-191v124,0,150,62,150,191v0,129,-26,191,-150,191v-124,0,-150,-62,-150,-191xm133,-521v0,79,4,119,44,119v40,0,44,-40,44,-119v0,-71,-4,-111,-44,-111v-40,0,-44,40,-44,111xm140,31r406,-756r89,0r-406,756r-89,0","w":778},"&":{"d":"201,-568v0,23,33,75,53,102v30,-22,71,-66,71,-100v0,-39,-26,-60,-63,-60v-34,0,-61,21,-61,58xm343,-143r-120,-170v-54,42,-73,77,-73,121v0,45,35,94,100,94v39,0,69,-15,93,-45xm319,-380r107,145v15,-31,25,-79,25,-108r124,0v0,77,-30,150,-73,211r94,132r-153,0r-40,-55v-36,43,-102,69,-172,69v-181,0,-219,-126,-219,-206v0,-83,55,-151,144,-206v-33,-46,-82,-122,-73,-166v0,-93,75,-150,182,-150v122,0,178,66,178,149v0,71,-40,126,-124,185","w":593},"(":{"d":"190,-714r106,0v-83,151,-114,280,-114,449v0,169,31,298,114,449r-106,0v-189,-319,-189,-579,0,-898","w":296},")":{"d":"0,-714r106,0v189,319,189,579,0,898r-106,0v83,-151,114,-280,114,-449v0,-169,-31,-298,-114,-449","w":296},"*":{"d":"154,-714r82,0r0,128r122,-40r25,78r-122,40r76,104r-67,48r-75,-104r-75,104r-67,-48r76,-104r-122,-40r25,-78r122,40r0,-128","w":390},"+":{"d":"238,0r0,-191r-191,0r0,-124r191,0r0,-191r124,0r0,191r191,0r0,124r-191,0r0,191r-124,0","w":600},",":{"d":"54,-156r132,0v-1,154,21,312,-132,321r0,-70v40,-8,55,-48,52,-95r-52,0r0,-156","w":240},"-":{"d":"44,-348r282,0r0,118r-282,0r0,-118","w":370},".":{"d":"54,-156r132,0r0,156r-132,0r0,-156","w":240},"\/":{"d":"-3,14r226,-742r112,0r-226,742r-112,0","w":332},"0":{"d":"162,-376r0,77v0,178,16,219,78,219v63,0,78,-56,78,-238r0,-77v0,-178,-16,-219,-78,-219v-63,0,-78,56,-78,238xm18,-330v0,-196,11,-378,222,-378v171,0,222,93,222,344v0,197,-11,378,-222,378v-171,0,-222,-93,-222,-344"},"1":{"d":"326,0r-144,0r0,-500r-141,0r0,-94v101,3,165,-32,179,-114r106,0r0,708"},"2":{"d":"454,-112r0,112r-436,0v-11,-149,108,-270,214,-364v64,-56,74,-89,74,-162v0,-59,-25,-88,-70,-88v-72,0,-79,63,-80,138r-138,0v-7,-151,59,-232,220,-232v142,0,212,71,212,193v0,92,-29,151,-110,225v-49,45,-141,121,-153,178r267,0"},"3":{"d":"20,-207r138,0v2,82,16,127,79,127v70,0,79,-52,79,-114v0,-63,-14,-121,-93,-121r-48,0r0,-94r47,0v60,0,82,-54,82,-112v0,-66,-22,-93,-69,-93v-62,0,-73,48,-73,115r-132,0v0,-139,74,-209,208,-209v128,0,204,57,204,182v0,88,-45,138,-108,158v91,14,126,78,126,167v0,95,-39,215,-235,215v-138,0,-206,-84,-205,-221"},"4":{"d":"266,-259r0,-269r-2,0r-138,269r140,0xm14,-147r0,-118r235,-443r149,0r0,449r68,0r0,112r-68,0r0,147r-132,0r0,-147r-252,0"},"5":{"d":"425,-694r0,112r-261,0v-3,52,-15,113,-13,161v27,-37,69,-53,130,-53v136,0,173,114,173,226v0,155,-45,262,-227,262v-189,0,-211,-115,-209,-216r138,0v0,47,8,116,70,116v58,0,84,-46,84,-138v0,-117,-18,-150,-83,-150v-41,0,-63,25,-68,65r-129,0r26,-385r369,0"},"6":{"d":"449,-528r-138,0v0,-54,-17,-86,-65,-86v-85,0,-94,112,-86,215v24,-37,71,-61,133,-61v126,0,173,94,173,221v0,162,-71,253,-229,253v-198,0,-223,-158,-223,-331v0,-200,4,-391,238,-391v102,0,195,43,197,180xm165,-220v0,81,12,140,79,140v70,0,78,-60,78,-140v0,-96,-22,-134,-78,-134v-57,0,-79,38,-79,134"},"7":{"d":"22,-694r436,0r0,110v-117,165,-185,384,-208,584r-151,0v22,-171,82,-382,221,-570r-298,0r0,-124"},"8":{"d":"14,-200v0,-92,44,-156,120,-177v-76,-20,-102,-85,-102,-136v0,-139,79,-195,208,-195v129,0,208,56,208,195v0,53,-31,114,-102,138v80,16,120,86,120,175v0,81,-29,214,-226,214v-197,0,-226,-133,-226,-214xm170,-517v0,66,28,99,70,99v42,0,70,-33,70,-99v0,-64,-23,-97,-70,-97v-47,0,-70,33,-70,97xm158,-202v0,67,17,122,82,122v65,0,82,-55,82,-122v0,-68,-17,-122,-82,-122v-65,0,-82,54,-82,122"},"9":{"d":"31,-165r138,0v0,53,17,85,65,85v84,0,94,-111,86,-214v-24,36,-71,60,-133,60v-126,0,-173,-94,-173,-221v0,-162,71,-253,229,-253v198,0,223,158,223,331v0,201,-4,391,-238,391v-102,0,-195,-43,-197,-179xm158,-474v0,96,22,134,78,134v57,0,79,-38,79,-134v0,-81,-12,-140,-79,-140v-70,0,-78,60,-78,140"},":":{"d":"54,0r0,-156r132,0r0,156r-132,0xm54,-365r0,-156r132,0r0,156r-132,0","w":240},";":{"d":"54,-156r132,0v-1,154,21,312,-132,321r0,-70v40,-8,55,-48,52,-95r-52,0r0,-156xm54,-521r132,0r0,156r-132,0r0,-156","w":240},"<":{"d":"47,-200r0,-106r506,-208r0,124r-338,137r338,137r0,124","w":600},"=":{"d":"47,-300r0,-124r506,0r0,124r-506,0xm47,-82r0,-124r506,0r0,124r-506,0","w":600},">":{"d":"47,8r0,-124r338,-137r-338,-137r0,-124r506,208r0,106","w":600},"?":{"d":"168,-493r-132,0v-6,-137,58,-225,198,-229v214,-6,270,213,148,349v-42,47,-99,91,-89,175r-124,0v-13,-114,39,-178,100,-239v52,-52,59,-189,-30,-191v-59,-2,-75,62,-71,135xm162,-132r138,0r0,132r-138,0r0,-132","w":481},"@":{"d":"299,-326v0,44,28,81,71,81v68,0,116,-69,116,-128v0,-42,-34,-76,-75,-76v-64,0,-112,68,-112,123xm522,-488r13,-53r88,0r-58,250v-6,32,-16,61,14,61v39,0,104,-69,104,-174v0,-133,-127,-230,-266,-230v-157,0,-276,134,-276,278v0,152,131,276,283,276v91,0,163,-31,217,-64r89,0v-70,100,-180,158,-330,158v-205,0,-371,-166,-371,-371v0,-205,166,-371,371,-371v200,0,371,120,371,303v0,211,-186,286,-251,286v-41,0,-59,-22,-67,-53v-26,28,-67,53,-120,53v-71,0,-146,-64,-146,-170v0,-122,83,-246,214,-246v50,0,92,20,121,67","w":800},"A":{"d":"0,0r189,-714r178,0r189,714r-150,0r-33,-151r-190,0r-33,151r-150,0xm277,-590r-69,321r140,0r-69,-321r-2,0","w":556},"B":{"d":"50,0r0,-714r241,0v118,0,203,44,203,181v0,79,-41,133,-108,158v79,11,130,71,130,166v0,112,-55,209,-223,209r-243,0xm194,-608r0,187v91,5,156,-12,156,-94v0,-88,-66,-98,-156,-93xm194,-321r0,215v98,4,173,-2,172,-108v-1,-109,-74,-110,-172,-107","w":556},"C":{"d":"499,-473r-144,0v0,-104,-21,-149,-86,-149v-73,0,-90,73,-90,275v0,216,30,255,92,255v52,0,90,-27,90,-181r144,0v0,154,-38,287,-227,287v-216,0,-243,-154,-243,-371v0,-217,27,-371,243,-371v206,0,221,151,221,255","w":537},"D":{"d":"57,0r0,-714r236,0v200,0,236,137,236,347v0,253,-54,367,-245,367r-227,0xm201,-608r0,502v162,10,184,-27,184,-257v0,-162,-13,-245,-123,-245r-61,0","w":574},"E":{"d":"50,-714r399,0r0,118r-255,0r0,168r240,0r0,118r-240,0r0,192r265,0r0,118r-409,0r0,-714","w":481},"F":{"d":"50,0r0,-714r399,0r0,118r-255,0r0,168r240,0r0,118r-240,0r0,310r-144,0","w":463},"G":{"d":"505,-502r-138,0v0,-53,-24,-120,-82,-120v-70,0,-98,72,-98,250v0,172,16,280,99,280v34,0,89,-37,89,-114r0,-73r-95,0r0,-106r233,0r0,385r-106,0v-2,-21,4,-49,-2,-66v-34,56,-83,80,-150,80v-177,0,-212,-132,-212,-379v0,-240,56,-363,240,-363v158,0,222,81,222,226","w":556},"H":{"d":"50,0r0,-714r144,0r0,273r168,0r0,-273r144,0r0,714r-144,0r0,-317r-168,0r0,317r-144,0","w":556},"I":{"d":"201,0r-144,0r0,-714r144,0r0,714","w":258},"J":{"d":"275,-714r144,0r0,514v0,152,-69,214,-215,214v-164,0,-193,-106,-189,-240r132,0v-2,76,5,134,64,134v52,0,64,-36,64,-112r0,-510","w":463},"K":{"d":"50,-714r144,0r0,286r2,0r182,-286r156,0r-194,306r216,408r-162,0r-147,-293r-53,81r0,212r-144,0r0,-714","w":537},"L":{"d":"449,0r-399,0r0,-714r144,0r0,596r255,0r0,118","w":463},"M":{"d":"53,0r0,-714r214,0r102,504r2,0r103,-504r213,0r0,714r-132,0r0,-570r-2,0r-127,570r-112,0r-127,-570r-2,0r0,570r-132,0","w":740},"N":{"d":"50,-714r166,0r174,489r2,0r0,-489r132,0r0,714r-164,0r-176,-500r-2,0r0,500r-132,0r0,-714","w":574},"O":{"d":"35,-357v0,-217,27,-371,243,-371v216,0,243,154,243,371v0,217,-27,371,-243,371v-216,0,-243,-154,-243,-371xm179,-357v0,192,14,265,99,265v85,0,99,-73,99,-265v0,-191,-14,-265,-99,-265v-85,0,-99,74,-99,265","w":556},"P":{"d":"50,0r0,-714r252,0v146,0,196,107,196,214v-1,177,-123,228,-304,215r0,285r-144,0xm194,-608r0,217v95,6,160,-6,160,-107v0,-70,-28,-110,-100,-110r-60,0","w":519},"Q":{"d":"373,0v-27,10,-57,14,-95,14v-216,0,-243,-154,-243,-371v0,-217,27,-371,243,-371v216,0,243,154,243,371v0,121,-8,222,-55,290r77,78r-85,77xm179,-357v0,192,14,265,99,265v85,0,99,-73,99,-265v0,-191,-14,-265,-99,-265v-85,0,-99,74,-99,265","w":556},"R":{"d":"194,-608r0,206v98,5,168,-5,168,-107v0,-93,-73,-106,-168,-99xm50,0r0,-714r266,0v118,0,190,62,190,184v0,98,-42,156,-119,178v98,13,113,67,115,218v1,75,5,114,32,128r0,6r-156,0v-55,-80,39,-301,-107,-302r-77,0r0,302r-144,0","w":556},"S":{"d":"22,-223r144,0v-2,78,11,131,95,131v44,0,86,-28,86,-88v0,-65,-33,-89,-128,-122v-128,-44,-187,-97,-187,-216v0,-139,85,-210,221,-210v135,0,229,61,221,212r-138,0v0,-67,-23,-106,-78,-106v-65,0,-82,41,-82,83v0,44,13,71,74,97r111,48v108,47,136,102,136,189v0,151,-92,219,-248,219v-175,0,-234,-83,-227,-237","w":519},"T":{"d":"12,-714r456,0r0,118r-156,0r0,596r-144,0r0,-596r-156,0r0,-118"},"U":{"d":"41,-714r144,0r0,498v0,71,17,124,84,124v67,0,84,-53,84,-124r0,-498r144,0r0,498v0,182,-111,230,-228,230v-117,0,-228,-39,-228,-230r0,-498","w":538},"V":{"d":"3,-714r154,0r101,528r3,0r106,-528r149,0r-164,714r-185,0","w":519},"W":{"d":"138,0r-130,-714r138,0r79,528r2,0r84,-528r138,0r84,528r2,0r79,-528r138,0r-130,714r-161,0r-80,-518r-2,0r-80,518r-161,0","w":760},"X":{"d":"184,-361r-164,-353r159,0r92,231r91,-231r157,0r-166,353r178,361r-162,0r-103,-242r-102,242r-158,0","w":537},"Y":{"d":"3,-714r162,0r94,276r2,0r100,-276r156,0r-185,433r0,281r-144,0r0,-281","w":520},"Z":{"d":"24,0r0,-105r263,-491r-245,0r0,-118r411,0r0,109r-267,487r271,0r0,118r-433,0","w":481},"[":{"d":"80,184r0,-898r229,0r0,100r-105,0r0,698r105,0r0,100r-229,0","w":315},"\\":{"d":"223,14r-226,-742r112,0r226,742r-112,0","w":332},"]":{"d":"6,184r0,-100r105,0r0,-698r-105,0r0,-100r229,0r0,898r-229,0","w":315},"^":{"d":"180,-309r-124,0r188,-385r112,0r188,385r-124,0r-120,-247","w":600},"_":{"d":"500,125r-500,0r0,-50r500,0r0,50","w":500},"a":{"d":"169,-373r-124,0v-5,-132,81,-179,189,-179v164,0,195,68,195,165r0,283v0,50,3,73,17,104r-132,0v-11,-16,-10,-42,-19,-56v-32,56,-71,70,-137,70v-96,0,-130,-82,-130,-154v0,-101,42,-140,136,-168v51,-15,133,-18,133,-84v0,-41,-18,-66,-64,-66v-47,0,-68,34,-64,85xm297,-163r0,-106v-19,14,-42,23,-59,27v-56,12,-78,39,-78,87v0,41,15,75,52,75v37,0,85,-24,85,-83","w":481},"b":{"d":"184,-269v0,117,12,177,73,177v60,0,72,-60,72,-177v0,-117,-12,-177,-72,-177v-61,0,-73,60,-73,177xm46,0r0,-714r138,0r0,226r2,0v29,-43,64,-64,116,-64v113,0,165,83,165,283v0,200,-52,283,-165,283v-56,0,-90,-25,-124,-71r0,57r-132,0","w":500},"c":{"d":"437,-344r-132,0v0,-52,-10,-108,-62,-108v-68,0,-79,60,-79,184v0,133,12,188,74,188v46,0,67,-39,67,-126r132,0v0,141,-59,220,-205,220v-138,0,-206,-67,-206,-283v0,-221,91,-283,218,-283v127,0,193,81,193,208","w":463},"d":{"d":"171,-269v0,117,12,177,72,177v61,0,73,-60,73,-177v0,-117,-12,-177,-73,-177v-60,0,-72,60,-72,177xm322,0v-2,-18,4,-43,-2,-57v-30,50,-68,71,-122,71v-113,0,-165,-83,-165,-283v0,-200,52,-283,165,-283v54,0,86,25,118,64r0,-226r138,0r0,714r-132,0","w":500},"e":{"d":"437,-248r-273,0v-3,77,4,167,68,168v46,0,65,-35,73,-101r124,0v-5,125,-65,195,-195,195v-200,0,-208,-154,-208,-288v0,-144,28,-278,214,-278v172,0,200,127,197,304xm164,-330r141,0v-3,-82,-13,-128,-70,-128v-62,0,-73,66,-71,128","w":463},"f":{"d":"76,0r0,-444r-70,0r0,-94r70,0r0,-61v-4,-126,100,-138,218,-126r0,98v-42,-4,-80,1,-80,42r0,47r80,0r0,94r-80,0r0,444r-138,0","w":296},"g":{"d":"174,40v0,36,33,55,67,56v80,3,82,-91,74,-168v-28,40,-71,66,-115,66v-110,0,-165,-75,-165,-272v0,-126,19,-274,169,-274v40,0,83,22,113,74r0,-60r132,0r0,511v0,142,-63,211,-224,211v-117,0,-183,-52,-183,-144r132,0xm173,-252v0,74,11,140,69,140v58,0,75,-63,75,-154v0,-131,-17,-180,-72,-180v-61,0,-72,49,-72,194","w":500},"h":{"d":"46,0r0,-714r138,0r0,231r2,0v26,-46,73,-69,131,-69v86,0,137,47,137,153r0,399r-138,0r0,-371v0,-54,-18,-75,-59,-75v-47,0,-73,29,-73,89r0,357r-138,0","w":500},"i":{"d":"51,0r0,-538r138,0r0,538r-138,0xm51,-604r0,-118r138,0r0,118r-138,0","w":240},"j":{"d":"51,-10r0,-528r138,0r0,575v0,90,-34,139,-158,139v-16,0,-36,-1,-56,-2r0,-100v59,10,76,-15,76,-84xm51,-604r0,-118r138,0r0,118r-138,0","w":240},"k":{"d":"51,-714r138,0r0,377r2,0r139,-201r152,0r-155,212r178,326r-152,0r-115,-221r-49,64r0,157r-138,0r0,-714","w":500},"l":{"d":"51,0r0,-714r138,0r0,714r-138,0","w":240},"m":{"d":"46,0r0,-538r132,0v2,17,-4,42,2,55v58,-99,230,-90,262,17v21,-57,71,-86,136,-86v91,0,134,57,134,161r0,391r-138,0r0,-376v0,-45,-15,-70,-54,-70v-44,0,-72,30,-72,92r0,354r-138,0r0,-376v0,-45,-15,-70,-54,-70v-44,0,-72,30,-72,92r0,354r-138,0","w":758},"n":{"d":"46,0r0,-538r132,0v2,20,-4,47,2,63v29,-53,79,-77,137,-77v86,0,137,47,137,153r0,399r-138,0r0,-371v0,-54,-18,-75,-59,-75v-47,0,-73,29,-73,89r0,357r-138,0","w":500},"o":{"d":"28,-269v0,-184,54,-283,212,-283v166,0,212,96,212,283v0,184,-54,283,-212,283v-166,0,-212,-96,-212,-283xm166,-269v0,110,6,189,74,189v56,0,74,-55,74,-189v0,-134,-18,-189,-74,-189v-68,0,-74,79,-74,189"},"p":{"d":"184,-269v0,117,12,177,73,177v60,0,72,-60,72,-177v0,-117,-12,-177,-72,-177v-61,0,-73,60,-73,177xm46,176r0,-714r132,0v2,18,-4,43,2,57v30,-50,68,-71,122,-71v113,0,165,83,165,283v0,200,-52,283,-165,283v-54,0,-86,-25,-118,-64r0,226r-138,0","w":500},"q":{"d":"316,-269v0,-117,-12,-177,-73,-177v-60,0,-72,60,-72,177v0,117,12,177,72,177v61,0,73,-60,73,-177xm316,176r0,-226r-2,0v-29,43,-64,64,-116,64v-113,0,-165,-83,-165,-283v0,-200,52,-283,165,-283v56,0,90,25,124,71r0,-57r132,0r0,714r-138,0","w":500},"r":{"d":"46,0r0,-538r132,0v2,23,-4,53,2,72v33,-59,75,-95,149,-84r0,132v-77,-9,-145,5,-145,95r0,323r-138,0","w":333},"s":{"d":"23,-176r124,0v-4,58,19,96,72,96v42,0,70,-21,70,-64v0,-74,-93,-73,-147,-96v-74,-32,-115,-74,-115,-150v0,-89,56,-162,198,-162v134,0,190,60,184,175r-124,0v0,-54,-16,-81,-61,-81v-35,0,-65,20,-65,58v0,54,95,75,143,91v87,30,119,73,119,154v0,113,-84,169,-200,169v-163,0,-202,-70,-198,-190","w":444},"t":{"d":"76,-538r0,-154r138,0r0,154r80,0r0,94r-80,0r0,291v-6,56,31,64,80,57r0,96v-30,3,-58,6,-90,6v-108,0,-128,-33,-128,-142r0,-308r-70,0r0,-94r70,0","w":296},"u":{"d":"322,0v-2,-20,4,-47,-2,-63v-29,53,-79,77,-137,77v-86,0,-137,-47,-137,-153r0,-399r138,0r0,371v0,54,18,75,59,75v47,0,73,-29,73,-89r0,-357r138,0r0,538r-132,0","w":500},"v":{"d":"228,-153r73,-385r138,0r-135,538r-160,0r-139,-538r144,0r77,385r2,0","w":444},"w":{"d":"124,0r-117,-538r138,0r63,382r2,0r67,-382r150,0r71,382r2,0r65,-382r132,0r-116,538r-157,0r-71,-382r-2,0r-67,382r-160,0","w":704},"x":{"d":"231,-376r74,-162r144,0r-140,261r146,277r-144,0r-80,-176r-80,176r-144,0r146,-277r-140,-261r144,0","w":462},"y":{"d":"46,176r0,-103v64,13,110,-11,110,-73r-151,-538r144,0r80,372r2,0r70,-372r138,0r-130,502v-54,211,-88,215,-263,212","w":444},"z":{"d":"24,0r0,-106r215,-320r-205,0r0,-112r368,0r0,106r-215,320r215,0r0,112r-378,0","w":426},"{":{"d":"30,-224r0,-82v33,0,66,-34,66,-81r0,-193v0,-85,36,-134,104,-134r89,0r0,100v-54,-8,-69,19,-69,72r0,166v2,62,-33,99,-72,112v43,8,72,51,72,110r0,166v-1,52,14,81,69,72r0,100r-89,0v-68,0,-104,-49,-104,-134r0,-193v0,-47,-33,-81,-66,-81","w":315},"|":{"d":"49,14r0,-742r124,0r0,742r-124,0","w":222},"}":{"d":"26,184r0,-100v54,8,69,-19,69,-72r0,-166v-2,-62,33,-99,72,-112v-43,-8,-72,-51,-72,-110r0,-166v1,-52,-14,-81,-69,-72r0,-100r89,0v68,0,104,49,104,134r0,193v0,47,33,81,66,81r0,82v-33,0,-66,34,-66,81r0,193v0,85,-36,134,-104,134r-89,0","w":315},"~":{"d":"192,-349v68,0,168,68,213,68v39,0,79,-43,90,-68r36,106v-27,51,-65,86,-123,86v-68,0,-170,-68,-213,-68v-39,0,-79,43,-90,68r-36,-106v27,-51,65,-86,123,-86","w":600},"'":{"d":"68,-393r0,-321r124,0r0,321r-124,0","w":260},"`":{"d":"176,-601r-94,0r-98,-144r138,0","w":222},"\u00e7":{"d":"171,92r47,-78v-129,-5,-192,-75,-192,-283v0,-221,91,-283,218,-283v127,0,193,81,193,208r-132,0v0,-52,-10,-108,-62,-108v-68,0,-79,60,-79,184v0,133,12,188,74,188v46,0,67,-39,67,-126r132,0v0,127,-48,204,-164,218r-31,49v55,-17,117,11,117,69v0,58,-45,94,-126,94v-44,0,-84,-10,-100,-19r19,-46v27,18,117,26,119,-19v1,-32,-49,-41,-78,-28","w":463},"\u00c7":{"d":"214,92r47,-78v-201,-9,-226,-160,-226,-371v0,-217,27,-371,243,-371v206,0,221,151,221,255r-144,0v0,-104,-21,-149,-86,-149v-73,0,-90,73,-90,275v0,216,30,255,92,255v52,0,90,-27,90,-181r144,0v0,144,-33,269,-190,286r-30,48v55,-17,117,11,117,69v0,58,-45,94,-126,94v-44,0,-84,-10,-100,-19r19,-46v27,18,117,26,119,-19v1,-32,-49,-41,-78,-28","w":537},"\u00c1":{"d":"213,-756r54,-144r138,0r-98,144r-94,0xm0,0r189,-714r178,0r189,714r-150,0r-33,-151r-190,0r-33,151r-150,0xm277,-590r-69,321r140,0r-69,-321r-2,0","w":556},"\u00c2":{"d":"128,-756r78,-144r144,0r78,144r-106,0r-46,-85r-48,85r-100,0xm0,0r189,-714r178,0r189,714r-150,0r-33,-151r-190,0r-33,151r-150,0xm277,-590r-69,321r140,0r-69,-321r-2,0","w":556},"\u00c4":{"d":"136,-765r0,-118r112,0r0,118r-112,0xm308,-765r0,-118r112,0r0,118r-112,0xm0,0r189,-714r178,0r189,714r-150,0r-33,-151r-190,0r-33,151r-150,0xm277,-590r-69,321r140,0r-69,-321r-2,0","w":556},"\u00c0":{"d":"0,0r189,-714r178,0r189,714r-150,0r-33,-151r-190,0r-33,151r-150,0xm277,-590r-69,321r140,0r-69,-321r-2,0xm343,-756r-94,0r-98,-144r138,0","w":556},"\u00c3":{"d":"191,-765r-70,0v14,-96,56,-144,136,-117v25,8,47,26,78,27v19,0,28,-23,28,-36r72,0v-7,71,-42,124,-93,124v-61,0,-130,-79,-151,2xm0,0r189,-714r178,0r189,714r-150,0r-33,-151r-190,0r-33,151r-150,0xm277,-590r-69,321r140,0r-69,-321r-2,0","w":556},"\u00c9":{"d":"188,-756r54,-144r138,0r-98,144r-94,0xm50,-714r399,0r0,118r-255,0r0,168r240,0r0,118r-240,0r0,192r265,0r0,118r-409,0r0,-714","w":481},"\u00ca":{"d":"103,-756r78,-144r144,0r78,144r-106,0r-46,-85r-48,85r-100,0xm50,-714r399,0r0,118r-255,0r0,168r240,0r0,118r-240,0r0,192r265,0r0,118r-409,0r0,-714","w":481},"\u00cb":{"d":"111,-765r0,-118r112,0r0,118r-112,0xm283,-765r0,-118r112,0r0,118r-112,0xm50,-714r399,0r0,118r-255,0r0,168r240,0r0,118r-240,0r0,192r265,0r0,118r-409,0r0,-714","w":481},"\u00c8":{"d":"50,-714r399,0r0,118r-255,0r0,168r240,0r0,118r-240,0r0,192r265,0r0,118r-409,0r0,-714xm318,-756r-94,0r-98,-144r138,0","w":481},"\u00cd":{"d":"64,-756r54,-144r138,0r-98,144r-94,0xm201,0r-144,0r0,-714r144,0r0,714","w":258},"\u00ce":{"d":"-21,-756r78,-144r144,0r78,144r-106,0r-46,-85r-48,85r-100,0xm201,0r-144,0r0,-714r144,0r0,714","w":258},"\u00cf":{"d":"-13,-765r0,-118r112,0r0,118r-112,0xm159,-765r0,-118r112,0r0,118r-112,0xm201,0r-144,0r0,-714r144,0r0,714","w":258},"\u00cc":{"d":"201,0r-144,0r0,-714r144,0r0,714xm194,-756r-94,0r-98,-144r138,0","w":258},"\u00d3":{"d":"213,-756r54,-144r138,0r-98,144r-94,0xm35,-357v0,-217,27,-371,243,-371v216,0,243,154,243,371v0,217,-27,371,-243,371v-216,0,-243,-154,-243,-371xm179,-357v0,192,14,265,99,265v85,0,99,-73,99,-265v0,-191,-14,-265,-99,-265v-85,0,-99,74,-99,265","w":556},"\u00d4":{"d":"128,-756r78,-144r144,0r78,144r-106,0r-46,-85r-48,85r-100,0xm35,-357v0,-217,27,-371,243,-371v216,0,243,154,243,371v0,217,-27,371,-243,371v-216,0,-243,-154,-243,-371xm179,-357v0,192,14,265,99,265v85,0,99,-73,99,-265v0,-191,-14,-265,-99,-265v-85,0,-99,74,-99,265","w":556},"\u00d6":{"d":"136,-765r0,-118r112,0r0,118r-112,0xm308,-765r0,-118r112,0r0,118r-112,0xm35,-357v0,-217,27,-371,243,-371v216,0,243,154,243,371v0,217,-27,371,-243,371v-216,0,-243,-154,-243,-371xm179,-357v0,192,14,265,99,265v85,0,99,-73,99,-265v0,-191,-14,-265,-99,-265v-85,0,-99,74,-99,265","w":556},"\u00d2":{"d":"35,-357v0,-217,27,-371,243,-371v216,0,243,154,243,371v0,217,-27,371,-243,371v-216,0,-243,-154,-243,-371xm179,-357v0,192,14,265,99,265v85,0,99,-73,99,-265v0,-191,-14,-265,-99,-265v-85,0,-99,74,-99,265xm343,-756r-94,0r-98,-144r138,0","w":556},"\u00d5":{"d":"191,-765r-70,0v14,-96,56,-144,136,-117v25,8,47,26,78,27v19,0,28,-23,28,-36r72,0v-7,71,-42,124,-93,124v-61,0,-130,-79,-151,2xm35,-357v0,-217,27,-371,243,-371v216,0,243,154,243,371v0,217,-27,371,-243,371v-216,0,-243,-154,-243,-371xm179,-357v0,192,14,265,99,265v85,0,99,-73,99,-265v0,-191,-14,-265,-99,-265v-85,0,-99,74,-99,265","w":556},"\u00da":{"d":"204,-756r54,-144r138,0r-98,144r-94,0xm41,-714r144,0r0,498v0,71,17,124,84,124v67,0,84,-53,84,-124r0,-498r144,0r0,498v0,182,-111,230,-228,230v-117,0,-228,-39,-228,-230r0,-498","w":538},"\u00db":{"d":"119,-756r78,-144r144,0r78,144r-106,0r-46,-85r-48,85r-100,0xm41,-714r144,0r0,498v0,71,17,124,84,124v67,0,84,-53,84,-124r0,-498r144,0r0,498v0,182,-111,230,-228,230v-117,0,-228,-39,-228,-230r0,-498","w":538},"\u00dc":{"d":"127,-765r0,-118r112,0r0,118r-112,0xm299,-765r0,-118r112,0r0,118r-112,0xm41,-714r144,0r0,498v0,71,17,124,84,124v67,0,84,-53,84,-124r0,-498r144,0r0,498v0,182,-111,230,-228,230v-117,0,-228,-39,-228,-230r0,-498","w":538},"\u00d9":{"d":"41,-714r144,0r0,498v0,71,17,124,84,124v67,0,84,-53,84,-124r0,-498r144,0r0,498v0,182,-111,230,-228,230v-117,0,-228,-39,-228,-230r0,-498xm334,-756r-94,0r-98,-144r138,0","w":538},"\u00e1":{"d":"176,-601r54,-144r138,0r-98,144r-94,0xm169,-373r-124,0v-5,-132,81,-179,189,-179v164,0,195,68,195,165r0,283v0,50,3,73,17,104r-132,0v-11,-16,-10,-42,-19,-56v-32,56,-71,70,-137,70v-96,0,-130,-82,-130,-154v0,-101,42,-140,136,-168v51,-15,133,-18,133,-84v0,-41,-18,-66,-64,-66v-47,0,-68,34,-64,85xm297,-163r0,-106v-19,14,-42,23,-59,27v-56,12,-78,39,-78,87v0,41,15,75,52,75v37,0,85,-24,85,-83","w":481},"\u00e2":{"d":"91,-601r78,-144r144,0r78,144r-106,0r-46,-85r-48,85r-100,0xm169,-373r-124,0v-5,-132,81,-179,189,-179v164,0,195,68,195,165r0,283v0,50,3,73,17,104r-132,0v-11,-16,-10,-42,-19,-56v-32,56,-71,70,-137,70v-96,0,-130,-82,-130,-154v0,-101,42,-140,136,-168v51,-15,133,-18,133,-84v0,-41,-18,-66,-64,-66v-47,0,-68,34,-64,85xm297,-163r0,-106v-19,14,-42,23,-59,27v-56,12,-78,39,-78,87v0,41,15,75,52,75v37,0,85,-24,85,-83","w":481},"\u00e4":{"d":"99,-610r0,-118r112,0r0,118r-112,0xm271,-610r0,-118r112,0r0,118r-112,0xm169,-373r-124,0v-5,-132,81,-179,189,-179v164,0,195,68,195,165r0,283v0,50,3,73,17,104r-132,0v-11,-16,-10,-42,-19,-56v-32,56,-71,70,-137,70v-96,0,-130,-82,-130,-154v0,-101,42,-140,136,-168v51,-15,133,-18,133,-84v0,-41,-18,-66,-64,-66v-47,0,-68,34,-64,85xm297,-163r0,-106v-19,14,-42,23,-59,27v-56,12,-78,39,-78,87v0,41,15,75,52,75v37,0,85,-24,85,-83","w":481},"\u00e0":{"d":"169,-373r-124,0v-5,-132,81,-179,189,-179v164,0,195,68,195,165r0,283v0,50,3,73,17,104r-132,0v-11,-16,-10,-42,-19,-56v-32,56,-71,70,-137,70v-96,0,-130,-82,-130,-154v0,-101,42,-140,136,-168v51,-15,133,-18,133,-84v0,-41,-18,-66,-64,-66v-47,0,-68,34,-64,85xm297,-163r0,-106v-19,14,-42,23,-59,27v-56,12,-78,39,-78,87v0,41,15,75,52,75v37,0,85,-24,85,-83xm306,-601r-94,0r-98,-144r138,0","w":481},"\u00e3":{"d":"154,-610r-70,0v14,-96,56,-144,136,-117v25,8,47,26,78,27v19,0,28,-23,28,-36r72,0v-7,71,-42,124,-93,124v-61,0,-130,-79,-151,2xm169,-373r-124,0v-5,-132,81,-179,189,-179v164,0,195,68,195,165r0,283v0,50,3,73,17,104r-132,0v-11,-16,-10,-42,-19,-56v-32,56,-71,70,-137,70v-96,0,-130,-82,-130,-154v0,-101,42,-140,136,-168v51,-15,133,-18,133,-84v0,-41,-18,-66,-64,-66v-47,0,-68,34,-64,85xm297,-163r0,-106v-19,14,-42,23,-59,27v-56,12,-78,39,-78,87v0,41,15,75,52,75v37,0,85,-24,85,-83","w":481},"\u00e9":{"d":"167,-601r54,-144r138,0r-98,144r-94,0xm437,-248r-273,0v-3,77,4,167,68,168v46,0,65,-35,73,-101r124,0v-5,125,-65,195,-195,195v-200,0,-208,-154,-208,-288v0,-144,28,-278,214,-278v172,0,200,127,197,304xm164,-330r141,0v-3,-82,-13,-128,-70,-128v-62,0,-73,66,-71,128","w":463},"\u00ea":{"d":"82,-601r78,-144r144,0r78,144r-106,0r-46,-85r-48,85r-100,0xm437,-248r-273,0v-3,77,4,167,68,168v46,0,65,-35,73,-101r124,0v-5,125,-65,195,-195,195v-200,0,-208,-154,-208,-288v0,-144,28,-278,214,-278v172,0,200,127,197,304xm164,-330r141,0v-3,-82,-13,-128,-70,-128v-62,0,-73,66,-71,128","w":463},"\u00eb":{"d":"90,-610r0,-118r112,0r0,118r-112,0xm262,-610r0,-118r112,0r0,118r-112,0xm437,-248r-273,0v-3,77,4,167,68,168v46,0,65,-35,73,-101r124,0v-5,125,-65,195,-195,195v-200,0,-208,-154,-208,-288v0,-144,28,-278,214,-278v172,0,200,127,197,304xm164,-330r141,0v-3,-82,-13,-128,-70,-128v-62,0,-73,66,-71,128","w":463},"\u00e8":{"d":"437,-248r-273,0v-3,77,4,167,68,168v46,0,65,-35,73,-101r124,0v-5,125,-65,195,-195,195v-200,0,-208,-154,-208,-288v0,-144,28,-278,214,-278v172,0,200,127,197,304xm164,-330r141,0v-3,-82,-13,-128,-70,-128v-62,0,-73,66,-71,128xm297,-601r-94,0r-98,-144r138,0","w":463},"\u00ed":{"d":"51,0r0,-538r138,0r0,538r-138,0xm55,-601r54,-144r138,0r-98,144r-94,0","w":240},"\u00ee":{"d":"-30,-601r78,-144r144,0r78,144r-106,0r-46,-85r-48,85r-100,0xm51,0r0,-538r138,0r0,538r-138,0","w":240},"\u00ef":{"d":"51,0r0,-538r138,0r0,538r-138,0xm-22,-610r0,-118r112,0r0,118r-112,0xm150,-610r0,-118r112,0r0,118r-112,0","w":240},"\u00ec":{"d":"51,0r0,-538r138,0r0,538r-138,0xm185,-601r-94,0r-98,-144r138,0","w":240},"\u00f3":{"d":"175,-601r54,-144r138,0r-98,144r-94,0xm28,-269v0,-184,54,-283,212,-283v166,0,212,96,212,283v0,184,-54,283,-212,283v-166,0,-212,-96,-212,-283xm166,-269v0,110,6,189,74,189v56,0,74,-55,74,-189v0,-134,-18,-189,-74,-189v-68,0,-74,79,-74,189"},"\u00f4":{"d":"90,-601r78,-144r144,0r78,144r-106,0r-46,-85r-48,85r-100,0xm28,-269v0,-184,54,-283,212,-283v166,0,212,96,212,283v0,184,-54,283,-212,283v-166,0,-212,-96,-212,-283xm166,-269v0,110,6,189,74,189v56,0,74,-55,74,-189v0,-134,-18,-189,-74,-189v-68,0,-74,79,-74,189"},"\u00f6":{"d":"98,-610r0,-118r112,0r0,118r-112,0xm270,-610r0,-118r112,0r0,118r-112,0xm28,-269v0,-184,54,-283,212,-283v166,0,212,96,212,283v0,184,-54,283,-212,283v-166,0,-212,-96,-212,-283xm166,-269v0,110,6,189,74,189v56,0,74,-55,74,-189v0,-134,-18,-189,-74,-189v-68,0,-74,79,-74,189"},"\u00f2":{"d":"28,-269v0,-184,54,-283,212,-283v166,0,212,96,212,283v0,184,-54,283,-212,283v-166,0,-212,-96,-212,-283xm166,-269v0,110,6,189,74,189v56,0,74,-55,74,-189v0,-134,-18,-189,-74,-189v-68,0,-74,79,-74,189xm305,-601r-94,0r-98,-144r138,0"},"\u00f5":{"d":"153,-610r-70,0v14,-96,56,-144,136,-117v25,8,47,26,78,27v19,0,28,-23,28,-36r72,0v-7,71,-42,124,-93,124v-61,0,-130,-79,-151,2xm28,-269v0,-184,54,-283,212,-283v166,0,212,96,212,283v0,184,-54,283,-212,283v-166,0,-212,-96,-212,-283xm166,-269v0,110,6,189,74,189v56,0,74,-55,74,-189v0,-134,-18,-189,-74,-189v-68,0,-74,79,-74,189"},"\u00fa":{"d":"185,-601r54,-144r138,0r-98,144r-94,0xm322,0v-2,-20,4,-47,-2,-63v-29,53,-79,77,-137,77v-86,0,-137,-47,-137,-153r0,-399r138,0r0,371v0,54,18,75,59,75v47,0,73,-29,73,-89r0,-357r138,0r0,538r-132,0","w":500},"\u00fb":{"d":"100,-601r78,-144r144,0r78,144r-106,0r-46,-85r-48,85r-100,0xm322,0v-2,-20,4,-47,-2,-63v-29,53,-79,77,-137,77v-86,0,-137,-47,-137,-153r0,-399r138,0r0,371v0,54,18,75,59,75v47,0,73,-29,73,-89r0,-357r138,0r0,538r-132,0","w":500},"\u00fc":{"d":"108,-610r0,-118r112,0r0,118r-112,0xm280,-610r0,-118r112,0r0,118r-112,0xm322,0v-2,-20,4,-47,-2,-63v-29,53,-79,77,-137,77v-86,0,-137,-47,-137,-153r0,-399r138,0r0,371v0,54,18,75,59,75v47,0,73,-29,73,-89r0,-357r138,0r0,538r-132,0","w":500},"\u00f9":{"d":"322,0v-2,-20,4,-47,-2,-63v-29,53,-79,77,-137,77v-86,0,-137,-47,-137,-153r0,-399r138,0r0,371v0,54,18,75,59,75v47,0,73,-29,73,-89r0,-357r138,0r0,538r-132,0xm315,-601r-94,0r-98,-144r138,0","w":500},"\u00a0":{"w":240}}});

/**
 * @author	Nicholas Almeida
 * @version	2.1.1
 * @original http://www.javascript-coder.com
*/

var valColorError = "#FEFEDE";
(function(scope){
	var __buttonSubmit__;
	var __newWidth__;
	var __buttonSubmitSrc__;
	var __cAlert__;
	var __lang__;
	var __cAlertDiv__;
	var __cAlertTxt__;
	var __oldFocus__;
	var __cAlertShow__ = true;

	scope.frmValidator = function(frmname, lang){
		this.formobj=document.forms[frmname];
		if(!this.formobj){
			alert('BUG: Não foi possívem acessar o formulário: '+frmname);
			return;
		};
		if(this.formobj.onsubmit){
			this.formobj.old_onsubmit = this.formobj.onsubmit;
			this.formobj.onsubmit=null;
		}else{
			this.formobj.old_onsubmit = null;
		};
		this.formobj.onsubmit=form_submit_handler;
		this.lang = __lang__ = lang;
		this.cAlert = customAlert;
		this.av = add_validation;
		this.cSubmit = change_submit;	
		this.amv = addMultiVal;
		this.customValidation=set_addnl_vfunction;
		this.clearAllValidations = clear_all_validations;
		this.formobj.onreset = rABgColor;
	};
	function set_addnl_vfunction(functionname){
		this.formobj.addnlvalidation = functionname;
	};
	function clear_all_validations(){
		for(var itr=0;itr < this.formobj.elements.length;itr++){
			this.formobj.elements[itr].validationset = null;
		};
	};
	function customAlert(d,t,s){
		if(!gElm(d) || !gElm(t)) {
			alert('BUG: Box id not defined or Text id not defined.');
			return;
		} else {
			__cAlert__ = true;
			__cAlertDiv__ = d;
			__cAlertTxt__ = t;
			__cAlertShow__ = s;		
		}
	};
	function form_submit_handler(){
		for(var itr=0;itr < this.elements.length;itr++){
			if(this.elements[itr].validationset && !this.elements[itr].validationset.validate()){
				return false;
			};
		};
		if(this.addnlvalidation){
			str =' var ret = '+this.addnlvalidation+'()';
			eval(str);
			if(!ret) return ret;
		};

		if(__buttonSubmit__){
			if (__lang__ == 'en'){
				stButton = 'Sending...'; 
			}else if(__lang__ == 'es'){
				stButton = 'Enviando...'; 
			}else{
				stButton = 'Enviando...'; 
			}

			__buttonSubmit__.title = stButton;
			if(__buttonSubmitSrc__){
				__buttonSubmit__.src = __buttonSubmitSrc__;
			}else{
				__buttonSubmit__.value = stButton;
			}
			__buttonSubmit__.disabled = 'disabled';
			__buttonSubmit__.style.cursor = 'wait';
			if(__newWidth__) {__buttonSubmit__.style.width = __newWidth__};
		}
		return true;
	};
	function add_validation(itemname,descriptor,errstr){
		if(!this.formobj){
			alert('BUG: Formulário não definido corretamente!');
			return;
		};
		var itemobj = this.formobj[itemname];
		if (!itemobj) alert('BUG: Não foi possível encontrar nehum campo com o name=' + itemname);
		if(itemobj.length && isNaN(itemobj.selectedIndex) ){
			itemobj = itemobj[0];
		};	
		if(!itemobj){
			alert('BUG: Não foi possível encontrar o campo com o nome: '+itemname);
			return;
		};

		if(!itemobj.validationset){
			itemobj.validationset = new ValidationSet(itemobj);
		};
		itemobj.validationset.add(descriptor,errstr);
	};
	function change_submit(bt,newWidth, buttonSubmitSrc){
		if(!this.formobj){
			alert('BUG: Formulário não definido corretamente!');
			return;
		};
		__buttonSubmit__ = gElm(bt);
		__newWidth__ = newWidth;
		__buttonSubmitSrc__ = buttonSubmitSrc;
	};
	function ValidationDesc(inputitem,desc,error){
		this.desc=desc;
		this.error=error;
		this.itemobj = inputitem;
		this.validate=vdesc_validate;
	};
	function vdesc_validate() {
		if(!validateInput(this.desc,this.itemobj,this.error)){
			if(!__cAlert__) this.itemobj.focus();
			return false;
		};
		return true;
	};
	function ValidationSet(inputitem){
		this.vSet=new Array();
		this.add= add_validationdesc;
		this.validate= vset_validate;
		this.itemobj = inputitem;
	};
	function add_validationdesc(desc,error){
		this.vSet[this.vSet.length]= 
		new ValidationDesc(this.itemobj,desc,error);
	};
	function vset_validate(){
		for(var itr=0;itr<this.vSet.length;itr++){
			if(!this.vSet[itr].validate()){
				return false;
			};
		};
		return true;
	};
	function validateEmail(email){
		if (email.length <= 0) {
			return true;
		};
		var splitted = email.match('^(.+)@(.+)$');
		if (splitted == null)return false;
		if (splitted[1] != null ) {
			var regexp_user = /^\"?[\w-_\.]*\"?$/;
			if (splitted[1].match(regexp_user) == null)return false;
		};
		if (splitted[2] != null) {
			var regexp_domain = /^[\w-\.]*\.[A-Za-z]{2,4}$/;
			if (splitted[2].match(regexp_domain) == null) {
				var regexp_ip = /^\[\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}\]$/;
				if (splitted[2].match(regexp_ip) == null)return false;
			};
			return true;
		};
		return false;
	};

	function TestComparison(objValue,strCompareElement,strvalidator,strError){
		var bRet=true;
		var objCompare=null;
		if(!objValue.form){
			alert('BUG: Formulário não definido!');
			return false
		};
		objCompare = objValue.form.elements[strCompareElement];
		if(!objCompare){
			alert('BUG: Campo com o nome '+strCompareElement+' não encontrado!');
			return false;
		};
		var cmpstr='';
		switch(strvalidator){
			case 'equal': 
			case 'eq': {
				if(objValue.value != objCompare.value){
					if (__lang__ == 'en'){
						cmpstr = ' must be the same as field \"';
					}else if(__lang__ == 'es'){
						cmpstr = ' debe ser igual al campo \"';
					}else{
						cmpstr = ' deve ser igual ao campo \"';
					}
					bRet = false;
				};
				break;
			};
			case 'notequal':
			case 'noteq': {
				if(objValue.value.length > 0 && objCompare.value.length > 0 && objValue.value == objCompare.value){
					if (__lang__ == 'en'){
						cmpstr = ' must be different from field \"';
					}else if(__lang__ == 'es'){
						cmpstr = ' debe ser diferente del campo \"';
					}else{
						cmpstr = ' deve ser diferente do campo \"';
					}
					bRet = false;
				};
				break;			
			};			
		};
		if(bRet==false){
			if(!strError || strError.length==0){
				if (__lang__ == 'en'){
					strError = 'Field \"' + objValue.title + '\"' + cmpstr + objCompare.title + '\".'; 
				}else if(__lang__ == 'es'){
					strError = 'El campo \"' + objValue.title + '\"' + cmpstr + objCompare.title + '\".'; 
				}else{
					strError = 'O campo \"' + objValue.title + '\"' + cmpstr + objCompare.title + '\".'; 
				}
				cBgColor(objValue);
			};
			boxAlert(strError, objValue);
		};
		if(bRet) rBgColor(objValue);
		return bRet;
	};

	function TestSelMin(objValue,strMinSel,strError){
		var bret = true;
		var objcheck = objValue.form.elements[objValue.name];
		var chkcount =0;
		if(objcheck.length){
			for(var c=0;c < objcheck.length;c++){
				if(objcheck[c].checked == '1'){
					chkcount++;
				};
			};
		}else {
			chkcount = (objcheck.checked == '1')?1:0;
		};
		var minsel = eval(strMinSel);
		if(chkcount < minsel) {
			if(!strError || strError.length ==0) { 
				if (__lang__ == 'en'){
					strError = 'Select at least ' + minsel + ' option(s) for field \"' + objValue.title + '\".';
				}else if(__lang__ == 'es'){
					strError = 'Seleccione al menos ' + minsel + ' opciones para el campo \"' + objValue.title + '\".';
				}else{
					strError = 'Selecione ao menos ' + minsel + ' opção(ões) para o campo \"' + objValue.title + '\".';
				}
			};
			boxAlert(strError, objValue); 
			bret = false;
		};
		if(bret) rBgColor(objValue);
		return bret;
	};

	function TestSelMax(objValue,strMaxSel,strError){
		var gret = true;
		var objcheck = objValue.form.elements[objValue.name];
		var chkcount =0;
		if(objcheck.length){
			for(var c=0;c < objcheck.length;c++){
				if(objcheck[c].checked == '1'){
					chkcount++;
				};
			};
		}else {
			chkcount = (objcheck.checked == '1')?1:0;
		};
		var maxsel = eval(strMaxSel);
		if(chkcount > maxsel) {
			if(!strError || strError.length ==0) { 
				if (__lang__ == 'en'){
					strError = 'Select at the most ' + maxsel + ' option(s) for field \"' + objValue.title + '\".';
				}else if(__lang__ == 'es'){
					strError = 'Seleccione como máximo ' + maxsel + ' opciones para el campo \"' + objValue.title + '\".';
				}else{
					strError = 'Selecione no máximo ' + maxsel + ' opção(ões) para o campo \"' + objValue.title + '\".';
				}
			};
			boxAlert(strError, objValue); 
			gret = false;
		};
		if(gret) rBgColor(objValue);
		return gret;
	};

	function TestDontSelect(objValue,index,strError){
		var ret = true;
		if(objValue.selectedIndex == null) { 
			alert('BUG: Este comando só pode ser usado para elementos de seleção.'); 
			ret = false; 
		}else if(objValue.selectedIndex == eval(index)) { 
			if(!strError || strError.length ==0) { 
				if (__lang__ == 'en'){
					strError = 'Select one of the options for field \"' + objValue.title + '\".'; 
				}else if(__lang__ == 'es'){
					strError = 'Seleccione una de las opciones para el campo \"' + objValue.title + '\".'; 
				}else{
					strError = 'Selecione uma das opções para o campo \"' + objValue.title + '\".'; 
				}
			};                                                        
			boxAlert(strError, objValue); 
			ret =  false;
			cBgColor(objValue);                            
		}; 
		if(ret) rBgColor(objValue);
		return ret;
	};

	function TestRequiredInput(objValue,strError){
		var ret = true;
		if(eval(objValue.value.length) == 0) { 
			if(!strError || strError.length ==0) { 
				if (__lang__ == 'en'){
					strError = 'Field \"' + objValue.title + '\" must be filled out.'; 
				}else if(__lang__ == 'es'){
					strError = 'El campo \"' + objValue.title + '\" es obligatorio.'; 
				}else{
					strError = 'O campo \"' + objValue.title + '\" é obrigatório.'; 			
				}
			};
			boxAlert(strError, objValue);
			ret=false; 
			cBgColor(objValue);
		};
		if(ret) rBgColor(objValue);
		return ret;
	};

	function TestMaxLen(objValue,strMaxLen,strError){
		var ret = true;
		if(eval(objValue.value.length) > eval(strMaxLen)) { 
			if(!strError || strError.length ==0) {
				if (__lang__ == 'en'){
					strError = 'Field \"' + objValue.title + '\" can contain up to '+ strMaxLen +' character(s).'; 
					strErrorCont = 'Currently it has: ' + objValue.value.length + ' character(s).';
				}else if(__lang__ == 'es'){
					strError = 'El campo \"' + objValue.title + '\" puede contener hasta '+ strMaxLen +' caracter(es).'; 
					strErrorCont = 'Actualmente tiene: ' + objValue.value.length + ' carácter(es).';
				}else{
					strError = 'O campo \"' + objValue.title + '\" pode conter no máximo '+ strMaxLen +' caracter(es).'; 
					strErrorCont = 'Atualmente ele tem: ' + objValue.value.length + ' caracter(es).';
				}
			};
			cBgColor(objValue);
			boxAlert(strError + '\n' + strErrorCont, objValue); 
			ret = false; 
		};
		if(ret) rBgColor(objValue);
		return ret;
	};

	function TestMinLen(objValue,strMinLen,strError){
		var ret = true;
		if(eval(objValue.value.length) <  eval(strMinLen)) { 
			if(!strError || strError.length ==0) { 
				if (__lang__ == 'en'){
					strError = 'Field \"' + objValue.title + '\" must contain at least '+ strMinLen +' character(s).'; 
					strErrorCont = 'Currently it has: ' + objValue.value.length + ' character(s).';
				}else if(__lang__ == 'es'){
					strError = 'El campo \"' + objValue.title + '\" debe contener un mínimo de '+ strMinLen +' caracter(es).'; 
					strErrorCont = 'Actualmente tiene: ' + objValue.value.length + ' carácter(es).';
				}else{
					strError = 'O campo \"' + objValue.title + '\" deve conter no mínimo ' + strMinLen + ' caracter(es).'; 
					strErrorCont = 'Atualmente ele tem: ' + objValue.value.length + ' caracter(es).';
				}
			};
			cBgColor(objValue);
			boxAlert(strError + '\n' + strErrorCont, objValue); 
			ret = false;   
		};
		if(ret) rBgColor(objValue);
		return ret;
	};

	function TestInputType(objValue,strRegExp,strError,strDefaultError){
		var ret = true;
		var charpos = objValue.value.search(strRegExp); 
		if(objValue.value.length > 0 &&  charpos >= 0) { 
			if(!strError || strError.length ==0) { 
				strError = strDefaultError;
				if (__lang__ == 'en'){
					strErrorCont = 'Error of character in position: ';
				}else if(__lang__ == 'es'){
					strErrorCont = 'Error en el carácter en la posición: ';
				}else{
					strErrorCont = 'Erro no caracter na posição: ';
				}
			};
			cBgColor(objValue);
			boxAlert(strError + '\n' + strErrorCont + eval(charpos+1)+'.', objValue); 
			ret = false; 
		};
		if(ret) rBgColor(objValue);
		return ret;
	};

	function TestEmail(objValue,strError){
		var ret = true;
		if(objValue.value.length > 0 && !validateEmail(objValue.value)	 ) { 
			if(!strError || strError.length ==0) { 
				if (__lang__ == 'en'){
					strError = '\"' + objValue.value+'\" is not a valid e-mail for field \"' + objValue.title + '\".'; 
				}else if(__lang__ == 'es'){
					strError = '\"' + objValue.value+'\" no es un e-mail válido para el campo \"' + objValue.title + '\".'; 
				}else{
					strError = '\"' + objValue.value+'\" não é um e-mail válido para o campo \"' + objValue.title + '\".'; 
				}
			};
			boxAlert(strError, objValue); 
			ret = false; 
			cBgColor(objValue);
		};
		if(ret) rBgColor(objValue);
		return ret;
	};

	function TestRegExp(objValue,strRegExp,strError){
		var ret = true;
		if( objValue.value.length > 0 && !objValue.value.match(strRegExp) ) { 
			if(!strError || strError.length ==0) {
				if (__lang__ == 'en'){
					strError = 'Invalid character found in field \"' + objValue.title + '\".';
				}else if(__lang__ == 'es'){
					strError = 'Carácter no permitido encontrado en el campo \"' + objValue.title + '\".';
				}else{
					strError = 'Caracter não permitido encontrado no campo \"' + objValue.title + '\".';
				}
			};
			boxAlert(strError, objValue); 
			ret = false;
			cBgColor(objValue);
		};
		if(ret) rBgColor(objValue);
		return ret;
	};

	function TestSelectOneRadio(objValue,strError){
		var objradio = objValue.form.elements[objValue.name];
		if (!objradio) alert('BUG: Não foi possível encotrar nenhum radioButton no formulário.\nCertifique-se de que eles existem e que tem o atributo \"name\".');
		var one_selected=false;
		for(var r=0;r < objradio.length;r++){
			if(objradio[r].checked == '1'){
				one_selected=true;
				break;
			};
		};
		if(false == one_selected){
			if(!strError || strError.length ==0) {
				if (__lang__ == 'en'){
					strError = 'Select one of the options for field  \"'+objValue.title+'\".'; 
				}else if(__lang__ == 'es'){
					strError = 'Seleccione una de las opciones para el campo \"'+objValue.title+'\".'; 
				}else{
					strError = 'Selecione uma das opções para o campo \"'+objValue.title+'\".'; 
				}
			};	
			boxAlert(strError, objValue);
		};
		return one_selected;
	};

	function TestCpf(v) {
		if (v == "00000000000" || v == "11111111111" || v == "22222222222" || v == "33333333333" || v == "44444444444" || v == "55555555555" || v == "66666666666" || v == "77777777777" || v == "88888888888" || v == "99999999999") return false;
		if(!v) return true;
		var s=null;
		var r=null;
		if(v.length!=11||v.match(/1{11};|2{11};|3{11};|4{11};|5{11};|6{11};|7{11};|8{11};|9{11};|0{11};/)) return false;
		s=0;
		for(var i=0;i<9;i++) s+=parseInt(v.charAt(i))*(10-i);
		r=11-(s%11);
		if(r==10||r==11) r=0;
		if(r!=parseInt(v.charAt(9))) return false;
		s=0;
		for(var i=0;i<10;i++) s+=parseInt(v.charAt(i))*(11-i);
		r=11-(s%11);
		if(r==10||r==11) r=0;
		if(r!=parseInt(v.charAt(10))) return false;
		return true;
	};

	function TestCnpj(v) {
		if(!v) return true;
		var m = new Array('543298765432','6543298765432');
		var d = new Array(0,0);
		for (var t=0; t<2; t++) {
			for(x=0; x<13; x++) {
				if ((t==0 && x!=12) || t==1) d[t] += ( parseInt(v.slice(x,x+1)) * parseInt(m[t].slice(x,x+1)) );
			};
			d[t] = (d[t] * 10) % 11;
			if (d[t] == 10) d[t] = 0;
		};
		return (d[0] == parseInt(v.slice(12,13)) && d[1] == parseInt(v.slice(13,14)));
	};

	function TestFile(v ,ext) {
		if(!v) return true;
		var e = ext.split(",");
		for(var i=0; i<e.length; i++) {
			if (v.substr(v.lastIndexOf('.')+1)==e[i]) return true;
		};
		return false;
	};

	function replaceAll(str, replacements ) {
		for ( i = 0; i < replacements.length; i++ ) {
			var idx = str.indexOf( replacements[i][0] );
			while ( idx > -1 ) {
				str = str.replace( replacements[i][0], replacements[i][1] );
				idx = str.indexOf( replacements[i][0] );
			};
		};
		return str;
	};
	function addMultiVal(){
		var arrPar = [];
		for(var i=0; i<arguments.length; i++){
			arrPar[i] = arguments[i];
		};
		var fld = arrPar[0];
		arrPar = arrPar.slice(1,arrPar.length);
		for (var a=0;a<arrPar.length;a++){
			this.av(fld,arrPar[a]);
		};
		delete arrPar, fld;
	};
	function validateInput(strValidateStr,objValue,strError) {
		var ret = true;
		var epos = strValidateStr.search('='); 
		var command  = ''; 
		var cmdvalue = ''; 
		if(epos >= 0) { 
			command  = strValidateStr.substring(0,epos); 
			cmdvalue = strValidateStr.substr(epos+1); 
		}else { 
			command = strValidateStr; 
		}; 
		switch(command) { 
			case 'req': 
			case 'required': { 
				ret = TestRequiredInput(objValue,strError);
				break;             
			};
			case 'maxlength': 
			case 'maxlen': { 
				ret = TestMaxLen(objValue,cmdvalue,strError);
				break; 
			};
			case 'minlength': 
			case 'minlen': { 
				ret = TestMinLen(objValue,cmdvalue,strError);
				break; 
			};
			case 'alnum': 
			case 'alphanumeric': { 
				if (__lang__ == 'en'){
					strTxtError = 'Only alphanumeric characters (letters and numbers) are valid for field'; 
				}else if(__lang__ == 'es'){
					strTxtError = 'Sólo caracteres alfanuméricos (letras y números) son permitidos para el campo'; 
				}else{
					strTxtError = 'Apenas caracteres alfanuméricos(letras e números) são permitidos para o campo';
				}
			
				ret = TestInputType(objValue,'[^A-Za-z0-9áàãâäéèêëíìîïóòõôöúùûüçÁÀÃÂÄÉÈÊËÍÌÎÏÓÒÕÔÖÚÙÛÜÇ\\s]',strError, strTxtError + ' \"' + objValue.title + '\".');
				break;
			};
			case 'num': 
			case 'number': 
			case 'numeric': {
				if (__lang__ == 'en'){
					strTxtError = 'Only numeric characters (numbers) are valid for field'; 
				}else if(__lang__ == 'es'){
					strTxtError = 'Sólo caracteres numéricos (números) son permitidos para el campo'; 
				}else{
					strTxtError = 'Apenas caracteres numéricos(números) são permitidos para o campo';
				}
			 
				ret = TestInputType(objValue,'[^0-9]',strError,  strTxtError + ' \"' + objValue.title + '\".');
				break;
			};
			case 'letters': 
			case 'let': { 
				if (__lang__ == 'en'){
					strTxtError = 'Only letters are valid for field'; 
				}else if(__lang__ == 'es'){
					strTxtError = 'Sólo letras son permitidas para el campo'; 
				}else{
					strTxtError = 'Apenas letras são permitidas para o campo';
				}
			
				ret = TestInputType(objValue,'[^A-Za-záàãâäéèêëíìîïóòõôöúùûüçÁÀÃÂÄÉÈÊËÍÌÎÏÓÒÕÔÖÚÙÛÜÇ\\s]',strError, strTxtError + ' \"' + objValue.title + '\".');
				break; 
			};
			case 'restrict':
			case 'rest': { 
				if (__lang__ == 'en'){
					strTxtError = 'Only letters, numbers, \"-\" and \"_\" are valid for field'; 
				}else if(__lang__ == 'es'){
					strTxtError = 'Sólo letras, números, \"-\" y \"_\" son permitidos para el campo'; 
				}else{
					strTxtError = 'Apenas letras, números, \"-\" e \"_\"  são permitidas para o campo';
				}
				ret = TestInputType(objValue,'[^A-Za-z0-9-_]',strError, strTxtError + ' \"' + objValue.title + '\".');
				break; 
			};
			case 'email': { 
				ret = TestEmail(objValue,strError);
				break; 
			};
			case "lt":
			case "lessthan":{
				if (isNaN(objValue.value)) {
					if (__lang__ == 'en'){
						strTxtError = 'Only numeric characters (numbers) are valid for field'; 
					}else if(__lang__ == 'es'){
						strTxtError = 'Sólo caracteres numéricos (números) son permitidos para el campo'; 
					}else{
						strTxtError = 'Apenas caracteres numéricos(números) são permitidos para o campo';
					}
						
					boxAlert(strTxtError + ' \"' + objValue.title + '\".', objValue);
					cBgColor(objValue);
					return false;
				};
				if (eval(objValue.value) > eval(cmdvalue)) {
					if (!strError || strError.length == 0) {
						if (__lang__ == 'en'){
							strError = 'Field \"' + objValue.title + '\" must be smaller or equal than: ' + cmdvalue + '.';
						}else if(__lang__ == 'es'){
							strError = 'El campo \"' + objValue.title + '\" debe ser menor o igual a: ' + cmdvalue + '.';
						}else{
							strError = 'O campo \"' + objValue.title + '\" deve ser menor ou igual a: ' + cmdvalue + '.';
						}
					};
					boxAlert(strError, objValue);
					cBgColor(objValue);
					return false;
				};
				break;
			};
			case "gt":
			case "greaterthan":{
				if (isNaN(objValue.value)) {
					if (__lang__ == 'en'){
						strTxtError = 'Only numeric characters (numbers) are valid for field'; 
					}else if(__lang__ == 'es'){
						strTxtError = 'Sólo caracteres numéricos (números) son permitidos para el campo'; 
					}else{
						strTxtError = 'Apenas caracteres numéricos(números) são permitidos para o campo';
					}
					boxAlert(strTxtError + ' \"' + objValue.title + '\".', objValue);
					cBgColor(objValue);
					return false;
				};
				if (eval(objValue.value) < eval(cmdvalue)) {
					if (!strError || strError.length == 0) {
						if (__lang__ == 'en'){
							strError = 'Field \"' + objValue.title + '\" must be bigger or equal than: ' + cmdvalue + '.';
						}else if(__lang__ == 'es'){
							strError = 'El campo \"' + objValue.title + '\" debe ser mayor o igual a: ' + cmdvalue + '.';
						}else{
							strError = 'O campo \"' + objValue.title + '\" deve ser maior ou igual a: ' + cmdvalue + '.';
						}
					};
					boxAlert(strError, objValue);
					cBgColor(objValue);
					return false;
				};
				break;
			};
			case 'regex': { 
				ret = TestRegExp(objValue,cmdvalue,strError);
				break; 
			};
			case 'dontselect': { 
				ret = TestDontSelect(objValue,cmdvalue,strError);
				break; 
			};
			case 'selmin':{
				ret = TestSelMin(objValue,cmdvalue,strError);
				break;
			};
			case 'selmax':{
				ret = TestSelMax(objValue,cmdvalue,strError);
				break;
			};
			case 'selone':{
				ret = TestSelectOneRadio(objValue,strError);
				break;
			};		 
			case 'equal': 
			case 'eq': 
			case 'notequal':
			case 'noteq':{
				return TestComparison(objValue,cmdvalue,command,strError);
				break;
			};
			case 'cpf': { 
				var tmpValue = replaceAll(objValue.value, [['.', ''],[ '/', '' ],['-', ''],[' ', '']]);
				ret = TestCpf(tmpValue);
				if(!ret) {
						if (__lang__ == 'en'){
							strErrorTxt = 'is not a valid CPF number for field';
						}else if(__lang__ == 'es'){
							strErrorTxt = 'no es un número de CPF válido para el campo';
						}else{
							strErrorTxt = 'não é um número de CPF válido para o campo';
						}
							
					boxAlert('\"' + objValue.value + '\" ' + strErrorTxt + ' \"' + objValue.title + '\".', objValue);
					cBgColor(objValue);
				}
				else rBgColor(objValue);
				delete tmpValue;
				break;             
			};
			case 'cnpj': { 
				var tmpValue = replaceAll(objValue.value, [['.', ''],[ '/', '' ],['-', ''],[' ', '']]);
				ret = TestCnpj(tmpValue);
				if(!ret) {
					if (__lang__ == 'en'){
						strErrorTxt = 'is not a valid CNPJ number for field';
					}else if(__lang__ == 'es'){
						strErrorTxt = 'no es un número de CNPJ válido para el campo';
					}else{
						strErrorTxt = 'não é um número de CNPJ válido para o campo';
					}
							
					boxAlert('\"' + objValue.value + '\" ' + strErrorTxt + ' \"' + objValue.title + '\".', objValue);
					cBgColor(objValue);
				}
				else rBgColor(objValue);
				delete tmpValue;
				break;             
			};
			case 'file': { 
				ret = TestFile(objValue.value.toLowerCase(), cmdvalue);
				if(!ret) {
					if (__lang__ == 'en'){
						boxAlert('Field \"' + objValue.title + '\" allows only \".' + cmdvalue +' \"archives.', objValue);
					}else if(__lang__ == 'es'){
						boxAlert('El campo \"' + objValue.title + '\" permite sólo archivos con la extensión \".' + cmdvalue +' \".', objValue);
					}else{
						boxAlert('O campo \"' + objValue.title + '\" permite somente arquivos com a extensão \".' + cmdvalue +' \".', objValue);
					}
					cBgColor(objValue);
				}
				else rBgColor(objValue);
				delete tmpValue;
				break;             
			};
		};
		if(ret) rBgColor(objValue);
		return ret; 
	};

	function cBgColor(o){o.style.backgroundColor = valColorError;};

	function rBgColor(o){o.style.backgroundColor = "";};

	function rABgColor(){
		for (var itr = 0; itr < this.elements.length; itr++) {
			rBgColor(this.elements[itr]);
		};
	};

	function only(t,o,e) {
		if(window.event)key=window.event.keyCode;
		else if(e)key=e.which;
		else return true;
		S=(o)?o:'';
		if(t=='num'||t=='number'||t=='numeric')S+='0123456789';
		if(t=='alnum'||t=='alphanumeric')S+='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZáàãâäéèêëíìîïóòõôöúùûüçÁÀÃÂÄÉÈÊËÍÌÎÏÓÒÕÔÖÚÙÛÜÇ 0123456789';
		if(t=='let'||t=='letters')S+='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZáàãâäéèêëíìîïóòõôöúùûüçÁÀÃÂÄÉÈÊËÍÌÎÏÓÒÕÔÖÚÙÛÜÇ ';	
		if(t=='rest'||t=='restrict')S+='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789';
		if(t=='email')S+='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789@-_.';
		if(key==null||key==0||key==8||key==9||key==13||key==27)return true;
		else if(S.indexOf(String.fromCharCode(key))!=-1)return true;
		else return false;
	};

	function not(S,e) {
		if(window.event)key=window.event.keyCode;
		else if(e)key=e.which;
		else return true;
		if(!S)return false;
		else if(key==null||key==0||key==8||key==9||key==13||key==27)return true;
		else if(S.indexOf(String.fromCharCode(key))!=-1)return false;
		else return true;
	};


	function jump(o,e) {
		if(window.event)key=window.event.keyCode;
		else if(e)key=e.which;
		else return;
		if (key==9||key==2||key==16) return;
		if(o.value.length==o.maxLength){
			for(var i=0;i<o.form.length;i++){
				if(o.form[i]==o&&o.form[i+1]){
					if(o.form[i+1]) o.form[i+1].focus();
					break;
				};
			}
		};
	};

	function checkReset(f){
		if (__lang__ == 'en'){
			strErrorTxt = 'All data submitted will be deleted.\nTo delete all data click \"OK\".\nTo continue submitting information click \"Cancel\".';
		}else if(__lang__ == 'es'){
			strErrorTxt = 'Todos los datos registrados serán borrados.\nPara borrar todos los datos haga clic en \"OK\".\nPara continuar registrando haga clic en \"Cancelar\".';
		}else{
			strErrorTxt = 'Todos os dados preenchidos serão apagados.\nPara apagar todos os dados clique em \"OK\".\nPara continuar preenchendo clique em \"Cancelar\".';
		}
		if(confirm(strErrorTxt)) gElm(f).reset();
	};

	function clearMe(w,s){
		(w.value == s) ? w.value='' : 0;
	};

	function leaveMe(w,s){
		(w.value.length == 0) ? w.value = s : 0;
	};

	function boxAlert(x, f){
		if(__cAlert__) {
			if(__cAlertShow__){
				openBox(__cAlertDiv__);
			}  else {
				sDiv(__cAlertDiv__);
				f.focus();
			}
			gElm(__cAlertTxt__).innerHTML = x;
			__oldFocus__ = f;

		} else {
			alert(x); 
		}
	};

	function oldFocus(){
		__oldFocus__.focus();
	};
})(this);
//Copyright (c) 2006 space150, LLC and released under the CPL license: 
//http://opensource.org/licenses/cpl1.0.php

function innerXHTML(obj, encode) {
	// It is an option to pass innerXHTML() a string indicating an id attribute
	if (typeof obj == "string")  obj = $(obj);

	var open = '';
	var content = '';
	var close = '';
	var tagname = obj.nodeName.toLowerCase();
	var emptytag = (obj.nodeName.match(/area|base|basefont|br|col|frame|hr|img|input|isindex|link|meta|param/i)) ? true : false; 

	// Write open tag
	open = '<'+tagname;
	for (var i=0; i<obj.attributes.length; i++) {
		if (obj.attributes[i].specified && obj.attributes[i].value != "null")
		open += ' '+obj.attributes[i].name.toLowerCase()+'="'+obj.attributes[i].value+'"';
	}
	open += (emptytag) ? ' />' : '>';

	if (!emptytag) {
		// Write tag content
		for (var i=0; i<obj.childNodes.length; i++) {
			var node = obj.childNodes[i];
			if (node.nodeType==3)
				content += node.data;
			else if (node.nodeType==1)
				content += innerXHTML(obj.childNodes[i], false);
			else
				content += " ";
		}
		// Write closing tag
	close = '</'+tagname+'>';
	}

	// URI encode the content if desired
	return (typeof(encode)=="undefined" || encode==true) ? encodeURIComponent(open+content+close) : open+content+close;
}

window.atual = 1;
window.intervalo = '';

$(document).ready(function(){
		Cufon.replace(".replaced-text",{
		hover:true,
		hoverables:{span: true}
	
	});
	$('.cufon-canvas canvas').css('top',0);	
});


$(document).ready(function(){ 

//	$(".exibeFotosGaleria li").click(function(){		
//		$('.modalExibeFoto').modal({
//			overlay:80,
//			overlayCss: {backgroundColor:"#7f7f7f"},
//			overlayClose:true
//		});		
//	});
	
	$(".modalExibeFoto a.btFechar").click(function(){		
		$.modal.impl.close();
	});
	
	$(".exibeFotosGaleria li").hover(function(){		
		$(this).find("span").addClass("pngfix overThumb");
		$(this).find(".overThumb").fadeIn("fast");		
		
	}, function() {		
		$(this).find(".overThumb").fadeOut("normal");
		
	});
	
	
	/* feedback */
	
	$(".boxJaSouCadastrado a.btEsqueciSenha").click(function(){
		$('.modalFeedback#esqueciSenha').modal({
			overlay:80,
			overlayCss: {backgroundColor:"#7f7f7f"}
		});
	});
	
	/*$(".boxJaSouCadastrado a.btEntrar").click(function(){
		$('.modalFeedback#sucesso').modal({
			overlay:80,
			overlayCss: {backgroundColor:"#7f7f7f"}
		});
	});*/
	
	$(".modalFeedback a.btFechar").click(function(){		
		$.modal.impl.close();
	});
	
	
});



$(document).ready(function(){
	/* navegação menu principal */	
	var classBody = $("body").attr("class");	
	if($(".btMn"+ classBody)[0])
		$(".btMn"+ classBody)[0].id = "active";	
		
	/* marcação das área ativas */
	
	$(".baseDestaque .destaque a:first").addClass("active");
	$(".baseDestaque .changeImgDestaque img:first").fadeIn(600);	
	$(".destaque a span:first").stop().animate( { marginTop:"16px"}, 400 );
	
	/* destaque TV Home */
		
	$(".destaqueHome #tit_d1").show();
	$(".destaque a").click(function(){
		$(".destaqueHome .titDestaque div").hide();
		$(".destaqueHome #tit_"+ this.id).fadeIn();
		$(".baseDestaque .changeImgDestaque img").hide();
		$(".baseDestaque .changeImgDestaque #img_"+ this.id).fadeIn(600);
		$(".baseDestaque .destaque a.active")
			.removeClass("active")
			.find("span")
			.stop()
			.animate( { marginTop:"60px"}, 400 );
		$(this).addClass("active");
		window.atual = parseInt(this.id.match(/[1-4]/));
		
	});
	
	$(".destaque a").hover(function(){
		$(this).find("span").stop().animate( { marginTop:"16px"}, 400 );
	},function(){
		if(!$(this)[0].className.match(/active/)){
			$(this).find("span").stop().animate( { marginTop:"60px"}, 400 );
		}
	});
});

$(document).ready(function(){
	window.intervalo = setInterval(function() {
		troca_banner()
	},10000);
});

function troca_banner(){
	window.atual++;
	if(window.atual > 4){
		window.atual = 1;
	}
	
	$(".destaque a#d"+ window.atual).trigger('click');
	$(".destaque a#d"+ window.atual +" span:first").stop().animate( { marginTop:"16px"}, 400 );
	$(".destaque a#d"+ window.atual).addClass("active");
}


/* Envio de foto / Jcrop */



/**
 * Classe estática para chamar marcações do Google Analytics
 * @author Nicholas Almeida
 * @since 19:18 13/8/2009
 */
var Analytics = {
	
	/**
	 * Private
	 */
	_timeout: 250,
	_pageTracker: 'pageTracker',
	
	/**
	 * Atribui valor para _pageTracker
	 */
	setTracker: function(trackerFunction) {
		this._pageTracker = trackerFunction;
	},
	
	/**
	 * Retorna a pageTracker usada
	 */
	getTracker: function() {
		return (typeof(this._pageTracker) == 'string') ? window[this._pageTracker] : this._pageTracker;
	},
	
	/**
	 * Executa um "_trackPageview"
	 * @param {string} str String da marcação desejada
	 */
	track: function(str) {
		this.getTracker()._trackPageview(str);
	},
	
	/**
	 * Executa um "_trackPageview" e abre uma URL (window.open)
	 * @param {string} str String da marcação desejada
	 * @param {string} url desejada
	 * @param {string} target por padrão '_self'
	 */
	trackAndGo: function(str, url, target) {
		this.track(str);
		if(!target) target = '_self';
		if(!url) {
			throw new Error('[ERROR] Analytics.trackAndGo: undefined URL.');
		} else {
			setTimeout(function(){
				window.open(url, target);
			}, this._timeout);
		}
	},
	
	/**
	 * Executa um "_trackPageview" e após uma função JS (_timeout 250 milisegundos)
	 * @param {function} func Função javascript válida
	 * @param {string} str String da marcação desejada
	 */
	trackAndJs: function(str, func) {
		this.track(str);
		this.callJs(func);
	},
	
	/**
	 * Executa um "_trackEvent"
	 * @param {string} category String da categoria
	 * @param {string} action String da ação
	 * @param {string} optional_label String do label
	 * @param {number} optional_value
	 */
	trackEvent: function(category, action, optional_label, optional_value) {
		if(!category || !action) {
			throw new Error('[ERROR] Analytics.trackEvent: trackEvent must contain "category" and "action" parameters.');
		} else {
			if((optional_value && isNaN(optional_value)) || optional_value === true) {
				throw new Error('[ERROR] Analytics.trackEvent: optional_value must be a number.');
			} else {
				this.getTracker()._trackEvent(category, action, optional_label, optional_value);
			}
		}
	},
	
	/**
	 * Executa um "_trackEvent" e após uma função JS (_timeout 250 milisegundos)
	 * @param {function} func Função javascript válida
	 * @param {string} category String da categoria
	 * @param {string} action String da ação
	 * @param {string} optional_label String do label
	 * @param {number} optional_value
	 */
	trackEventAndJs: function(func, category, action, optional_label, optional_value) {
		this.trackEvent(category, action, optional_label, optional_value);
		this.callJs(func);
	},

	/**
	 * Executa uma função JS (_timeout 250 milisegundos)
	 * @param {function} func Função javascript válida
	 */
	callJs: function(func) {
		setTimeout(function() {
			try {
				func();
			} catch(e) {
				throw new Error('[ERROR] Analytics.callJs: undefined function called.');
			}
		}, this._timeout);
	},
	
	/**
	 * Executa um "_setVar"
	 * @param {string} str String da marcação desejada
	 */
	setVar: function(str) {
		this.getTracker()._setVar(str);
	}
}; 
/*
 * SimpleModal 1.3 - jQuery Plugin
 * http://www.ericmmartin.com/projects/simplemodal/
 * Copyright (c) 2009 Eric Martin
 * Dual licensed under the MIT and GPL licenses
 * Revision: $Id: jquery.simplemodal.js 205 2009-06-12 13:29:21Z emartin24 $
 */

/**
 * SimpleModal is a lightweight jQuery plugin that provides a simple
 * interface to create a modal dialog.
 *
 * The goal of SimpleModal is to provide developers with a cross-browser 
 * overlay and container that will be populated with data provided to
 * SimpleModal.
 *
 * There are two ways to call SimpleModal:
 * 1) As a chained function on a jQuery object, like $('#myDiv').modal();.
 * This call would place the DOM object, #myDiv, inside a modal dialog.
 * Chaining requires a jQuery object. An optional options object can be
 * passed as a parameter.
 *
 * @example $('<div>my data</div>').modal({options});
 * @example $('#myDiv').modal({options});
 * @example jQueryObject.modal({options});
 *
 * 2) As a stand-alone function, like $.modal(data). The data parameter
 * is required and an optional options object can be passed as a second
 * parameter. This method provides more flexibility in the types of data 
 * that are allowed. The data could be a DOM object, a jQuery object, HTML
 * or a string.
 * 
 * @example $.modal('<div>my data</div>', {options});
 * @example $.modal('my data', {options});
 * @example $.modal($('#myDiv'), {options});
 * @example $.modal(jQueryObject, {options});
 * @example $.modal(document.getElementById('myDiv'), {options}); 
 * 
 * A SimpleModal call can contain multiple elements, but only one modal 
 * dialog can be created at a time. Which means that all of the matched
 * elements will be displayed within the modal container.
 * 
 * SimpleModal internally sets the CSS needed to display the modal dialog
 * properly in all browsers, yet provides the developer with the flexibility
 * to easily control the look and feel. The styling for SimpleModal can be 
 * done through external stylesheets, or through SimpleModal, using the
 * overlayCss and/or containerCss options.
 *
 * SimpleModal has been tested in the following browsers:
 * - IE 6, 7, 8
 * - Firefox 2, 3
 * - Opera 9
 * - Safari 3
 * - Chrome 1, 2
 *
 * @name SimpleModal
 * @type jQuery
 * @requires jQuery v1.2.2
 * @cat Plugins/Windows and Overlays
 * @author Eric Martin (http://ericmmartin.com)
 * @version 1.3
 */
;(function ($) {
	var ie6 = $.browser.msie && parseInt($.browser.version) == 6 && typeof window['XMLHttpRequest'] != "object",
		ieQuirks = null,
		w = [];

	/*
	 * Stand-alone function to create a modal dialog.
	 * 
	 * @param {string, object} data A string, jQuery object or DOM object
	 * @param {object} [options] An optional object containing options overrides
	 */
	$.modal = function (data, options) {
		return $.modal.impl.init(data, options);
	};

	/*
	 * Stand-alone close function to close the modal dialog
	 */
	$.modal.close = function () {
		$.modal.impl.close();
	};

	/*
	 * Chained function to create a modal dialog.
	 * 
	 * @param {object} [options] An optional object containing options overrides
	 */
	$.fn.modal = function (options) {
		return $.modal.impl.init(this, options);
	};

	/*
	 * SimpleModal default options
	 * 
	 * appendTo:		(String:'body') The jQuery selector to append the elements to. For ASP.NET, use 'form'.
	 * focus:			(Boolean:true) Forces focus to remain on the modal dialog
	 * opacity:			(Number:50) The opacity value for the overlay div, from 0 - 100
	 * overlayId:		(String:'simplemodal-overlay') The DOM element id for the overlay div
	 * overlayCss:		(Object:{}) The CSS styling for the overlay div
	 * containerId:		(String:'simplemodal-container') The DOM element id for the container div
	 * containerCss:	(Object:{}) The CSS styling for the container div
	 * dataId:			(String:'simplemodal-data') The DOM element id for the data div
	 * dataCss:			(Object:{}) The CSS styling for the data div
	 * minHeight:		(Number:200) The minimum height for the container
	 * minWidth:		(Number:200) The minimum width for the container
	 * maxHeight:		(Number:null) The maximum height for the container. If not specified, the window height is used.
	 * maxWidth:		(Number:null) The maximum width for the container. If not specified, the window width is used.
	 * autoResize:		(Boolean:false) Resize container on window resize? Use with caution - this may have undesirable side-effects.
	 * zIndex:			(Number: 1000) Starting z-index value
	 * close:			(Boolean:true) If true, closeHTML, escClose and overClose will be used if set.
	 							If false, none of them will be used.
	 * closeHTML:		(String:'<a class="modalCloseImg" title="Close"></a>') The HTML for the 
							default close link. SimpleModal will automatically add the closeClass to this element.
	 * closeClass:		(String:'simplemodal-close') The CSS class used to bind to the close event
	 * escClose:		(Boolean:true) Allow Esc keypress to close the dialog? 
	 * overlayClose:	(Boolean:false) Allow click on overlay to close the dialog?
	 * position:		(Array:null) Position of container [top, left]. Can be number of pixels or percentage
	 * persist:			(Boolean:false) Persist the data across modal calls? Only used for existing
								DOM elements. If true, the data will be maintained across modal calls, if false,
								the data will be reverted to its original state.
	 * onOpen:			(Function:null) The callback function used in place of SimpleModal's open
	 * onShow:			(Function:null) The callback function used after the modal dialog has opened
	 * onClose:			(Function:null) The callback function used in place of SimpleModal's close
	 */
	$.modal.defaults = {
		appendTo: 'form',
		focus: true,
		opacity: 50,
		overlayId: 'simplemodal-overlay',
		overlayCss: {},
		containerId: 'simplemodal-container',
		containerCss: {},
		dataId: 'simplemodal-data',
		dataCss: {},
		minHeight: 200,
		minWidth: 300,
		maxHeight: null,
		maxWidth: null,
		autoResize: false,
		zIndex: 1000,
		close: true,
		closeHTML: '<a class="modalCloseImg" title="Close"></a>',
		closeClass: 'simplemodal-close',
		escClose: true,
		overlayClose: false,
		position: null,
		persist: false,
		onOpen: null,
		onShow: null,
		onClose: null
	};

	/*
	 * Main modal object
	 */
	$.modal.impl = {
		/*
		 * Modal dialog options
		 */
		opts: null,
		/*
		 * Contains the modal dialog elements and is the object passed 
		 * back to the callback (onOpen, onShow, onClose) functions
		 */
		dialog: {},
		/*
		 * Initialize the modal dialog
		 */
		init: function (data, options) {
			// don't allow multiple calls
			if (this.dialog.data) {
				return false;
			}

			// $.boxModel is undefined if checked earlier
			ieQuirks = $.browser.msie && !$.boxModel;

			// merge defaults and user options
			this.opts = $.extend({}, $.modal.defaults, options);

			// keep track of z-index
			this.zIndex = this.opts.zIndex;

			// set the onClose callback flag
			this.occb = false;

			// determine how to handle the data based on its type
			if (typeof data == 'object') {
				// convert DOM object to a jQuery object
				data = data instanceof jQuery ? data : $(data);

				// if the object came from the DOM, keep track of its parent
				if (data.parent().parent().size() > 0) {
					this.dialog.parentNode = data.parent();

					// persist changes? if not, make a clone of the element
					if (!this.opts.persist) {
						this.dialog.orig = data.clone(true);
					}
				}
			}
			else if (typeof data == 'string' || typeof data == 'number') {
				// just insert the data as innerHTML
				data = $('<div/>').html(data);
			}
			else {
				// unsupported data type!
				alert('SimpleModal Error: Unsupported data type: ' + typeof data);
				return false;
			}

			// create the modal overlay, container and, if necessary, iframe
			this.create(data);
			data = null;

			// display the modal dialog
			this.open();

			// useful for adding events/manipulating data in the modal dialog
			if ($.isFunction(this.opts.onShow)) {
				this.opts.onShow.apply(this, [this.dialog]);
			}

			// don't break the chain =)
			return this;
		},
		/*
		 * Create and add the modal overlay and container to the page
		 */
		create: function (data) {
			// get the window properties
			w = this.getDimensions();

			// add an iframe to prevent select options from bleeding through
			if (ie6) {
				this.dialog.iframe = $('<iframe src="javascript:false;"/>')
					.css($.extend(this.opts.iframeCss, {
						display: 'none',
						opacity: 0, 
						position: 'fixed',
						height: w[0],
						width: w[1],
						zIndex: this.opts.zIndex,
						top: 0,
						left: 0
					}))
					.appendTo(this.opts.appendTo);
			}

			// create the overlay
			this.dialog.overlay = $('<div/>')
				.attr('id', this.opts.overlayId)
				.addClass('simplemodal-overlay')
				.css($.extend(this.opts.overlayCss, {
					display: 'none',
					opacity: this.opts.opacity / 100,
					height: w[0],
					width: w[1],
					position: 'fixed',
					left: 0,
					top: 0,
					zIndex: this.opts.zIndex + 1
				}))
				.appendTo(this.opts.appendTo);
		
			// create the container
			this.dialog.container = $('<div/>')
				.attr('id', this.opts.containerId)
				.addClass('simplemodal-container')
				.css($.extend(this.opts.containerCss, {
					display: 'none',
					position: 'fixed', 
					zIndex: this.opts.zIndex + 2
				}))
				.append(this.opts.close && this.opts.closeHTML
					? $(this.opts.closeHTML).addClass(this.opts.closeClass)
					: '')
				.appendTo(this.opts.appendTo);
				
			this.dialog.wrap = $('<div/>')
				.attr('tabIndex', -1)
				.addClass('simplemodal-wrap')
				.css({height: '100%', outline: 0, width: '100%'})
				.appendTo(this.dialog.container);
				
			// add styling and attributes to the data
			this.dialog.data = data
				.attr('id', data.attr('id') || this.opts.dataId)
				.addClass('simplemodal-data')
				.css($.extend(this.opts.dataCss, {
						display: 'none'
				}));
			data = null;

			this.setContainerDimensions();
			this.dialog.data.appendTo(this.dialog.wrap);

			// fix issues with IE
			if (ie6 || ieQuirks) {
				this.fixIE();
			}
		},
		/*
		 * Bind events
		 */
		bindEvents: function () {
			var self = this;

			// bind the close event to any element with the closeClass class
			$('.' + self.opts.closeClass).bind('click.simplemodal', function (e) {
				e.preventDefault();
				self.close();
			});
			
			// bind the overlay click to the close function, if enabled
			if (self.opts.close && self.opts.overlayClose) {
				self.dialog.overlay.bind('click.simplemodal', function (e) {
					e.preventDefault();
					self.close();
				});
			}
	
			// bind keydown events
			$(document).bind('keydown.simplemodal', function (e) {
				if (self.opts.focus && e.keyCode == 9) { // TAB
					self.watchTab(e);
				}
				else if ((self.opts.close && self.opts.escClose) && e.keyCode == 27) { // ESC
					e.preventDefault();
					self.close();
				}
			});

			// update window size
			$(window).bind('resize.simplemodal', function () {
				// redetermine the window width/height
				w = self.getDimensions();

				// reposition the dialog
				self.opts.autoResize ? self.setContainerDimensions() : self.setPosition();
	
				if (ie6 || ieQuirks) {
					self.fixIE();
				}
				else {
					// update the iframe & overlay
					self.dialog.iframe && self.dialog.iframe.css({height: w[0], width: w[1]});
					self.dialog.overlay.css({height: w[0], width: w[1]});
				}
			});
		},
		/*
		 * Unbind events
		 */
		unbindEvents: function () {
			$('.' + this.opts.closeClass).unbind('click.simplemodal');
			$(document).unbind('keydown.simplemodal');
			$(window).unbind('resize.simplemodal');
			this.dialog.overlay.unbind('click.simplemodal');
		},
		/*
		 * Fix issues in IE6 and IE7 in quirks mode
		 */
		fixIE: function () {
			var p = this.opts.position;

			// simulate fixed position - adapted from BlockUI
			$.each([this.dialog.iframe || null, this.dialog.overlay, this.dialog.container], function (i, el) {
				if (el) {
					var bch = 'document.body.clientHeight', bcw = 'document.body.clientWidth',
						bsh = 'document.body.scrollHeight', bsl = 'document.body.scrollLeft',
						bst = 'document.body.scrollTop', bsw = 'document.body.scrollWidth',
						ch = 'document.documentElement.clientHeight', cw = 'document.documentElement.clientWidth',
						sl = 'document.documentElement.scrollLeft', st = 'document.documentElement.scrollTop',
						s = el[0].style;

					s.position = 'absolute';
					if (i < 2) {
						s.removeExpression('height');
						s.removeExpression('width');
						s.setExpression('height','' + bsh + ' > ' + bch + ' ? ' + bsh + ' : ' + bch + ' + "px"');
						s.setExpression('width','' + bsw + ' > ' + bcw + ' ? ' + bsw + ' : ' + bcw + ' + "px"');
					}
					else {
						var te, le;
						if (p && p.constructor == Array) {
							var top = p[0] 
								? typeof p[0] == 'number' ? p[0].toString() : p[0].replace(/px/, '')
								: el.css('top').replace(/px/, '');
							te = top.indexOf('%') == -1 
								? top + ' + (t = ' + st + ' ? ' + st + ' : ' + bst + ') + "px"'
								: parseInt(top.replace(/%/, '')) + ' * ((' + ch + ' || ' + bch + ') / 100) + (t = ' + st + ' ? ' + st + ' : ' + bst + ') + "px"';

							if (p[1]) {
								var left = typeof p[1] == 'number' ? p[1].toString() : p[1].replace(/px/, '');
								le = left.indexOf('%') == -1 
									? left + ' + (t = ' + sl + ' ? ' + sl + ' : ' + bsl + ') + "px"'
									: parseInt(left.replace(/%/, '')) + ' * ((' + cw + ' || ' + bcw + ') / 100) + (t = ' + sl + ' ? ' + sl + ' : ' + bsl + ') + "px"';
							}
						}
						else {
							te = '(' + ch + ' || ' + bch + ') / 2 - (this.offsetHeight / 2) + (t = ' + st + ' ? ' + st + ' : ' + bst + ') + "px"';
							le = '(' + cw + ' || ' + bcw + ') / 2 - (this.offsetWidth / 2) + (t = ' + sl + ' ? ' + sl + ' : ' + bsl + ') + "px"';
						}
						s.removeExpression('top');
						s.removeExpression('left');
						s.setExpression('top', te);
						s.setExpression('left', le);
					}
				}
			});
		},
		focus: function (pos) {
			var self = this,
				p = pos || 'first';

			// focus on dialog or the first visible/enabled input element
			var input = $(':input:enabled:visible:' + p, self.dialog.wrap);
			input.length > 0 ? input.focus() : self.dialog.wrap.focus();
		},
		getDimensions: function () {
			var el = $(window);

			// fix a jQuery/Opera bug with determining the window height
			var h = $.browser.opera && $.browser.version > '9.5' && $.fn.jquery <= '1.2.6' ? document.documentElement['clientHeight'] :
				$.browser.opera && $.browser.version < '9.5' && $.fn.jquery > '1.2.6' ? window.innerHeight :
				el.height();

			return [h, el.width()];
		},
		getVal: function (v) {
			return v == 'auto' ? 0 : parseInt(v.replace(/px/, ''));
		},
		setContainerDimensions: function () {
			// get the dimensions for the container and data
			var ch = this.getVal(this.dialog.container.css('height')), cw = this.dialog.container.width(),
				dh = this.dialog.data.height(), dw = this.dialog.data.width();
			
			var mh = this.opts.maxHeight && this.opts.maxHeight < w[0] ? this.opts.maxHeight : w[0],
				mw = this.opts.maxWidth && this.opts.maxWidth < w[1] ? this.opts.maxWidth : w[1];

			// height
			if (!ch) {
				if (!dh) {ch = this.opts.minHeight;}
				else {
					if (dh > mh) {ch = mh;}
					else if (dh < this.opts.minHeight) {ch = this.opts.minHeight;}
					else {ch = dh;}
				}
			}
			else {
				ch = ch > mh ? mh : ch;
			}

			// width
			if (!cw) {
				if (!dw) {cw = this.opts.minWidth;}
				else {
					if (dw > mw) {cw = mw;}
					else if (dw < this.opts.minWidth) {cw = this.opts.minWidth;}
					else {cw = dw;}
				}
			}
			else {
				cw = cw > mw ? mw : cw;
			}

			this.dialog.container.css({height: ch, width: cw});
			if (dh > ch || dw > cw) {
				this.dialog.wrap.css({overflow:'auto'});
			}
			this.setPosition();
		},
		setPosition: function () {
			var top, left,
				hc = (w[0]/2) - ((this.dialog.container.height() || this.dialog.data.height())/2),
				vc = (w[1]/2) - ((this.dialog.container.width() || this.dialog.data.width())/2);

			if (this.opts.position && this.opts.position.constructor == Array) {
				top = this.opts.position[0] || hc;
				left = this.opts.position[1] || vc;
			} else {
				top = hc;
				left = vc;
			}
			this.dialog.container.css({left: left, top: top});
		},
		watchTab: function (e) {
			var self = this;
			if ($(e.target).parents('.simplemodal-container').length > 0) {
				// save the list of inputs
				self.inputs = $(':input:enabled:visible:first, :input:enabled:visible:last', self.dialog.data);

				// if it's the first or last tabbable element, refocus
				if (!e.shiftKey && e.target == self.inputs[self.inputs.length -1] ||
						e.shiftKey && e.target == self.inputs[0] ||
						self.inputs.length == 0) {
					e.preventDefault();
					var pos = e.shiftKey ? 'last' : 'first';
					setTimeout(function () {self.focus(pos);}, 10);
				}
			}
			else {
				// might be necessary when custom onShow callback is used
				e.preventDefault();
				setTimeout(function () {self.focus();}, 10);
			}
		},
		/*
		 * Open the modal dialog elements
		 * - Note: If you use the onOpen callback, you must "show" the 
		 *	        overlay and container elements manually 
		 *         (the iframe will be handled by SimpleModal)
		 */
		open: function () {
			// display the iframe
			this.dialog.iframe && this.dialog.iframe.show();

			if ($.isFunction(this.opts.onOpen)) {
				// execute the onOpen callback 
				this.opts.onOpen.apply(this, [this.dialog]);
			}
			else {
				// display the remaining elements
				this.dialog.overlay.show();
				this.dialog.container.show();
				this.dialog.data.show();
			}
			
			this.focus();

			// bind default events
			this.bindEvents();
		},
		/*
		 * Close the modal dialog
		 * - Note: If you use an onClose callback, you must remove the 
		 *         overlay, container and iframe elements manually
		 *
		 * @param {boolean} external Indicates whether the call to this
		 *     function was internal or external. If it was external, the
		 *     onClose callback will be ignored
		 */
		close: function () {
			// prevent close when dialog does not exist
			if (!this.dialog.data) {
				return false;
			}

			// remove the default events
			this.unbindEvents();

			if ($.isFunction(this.opts.onClose) && !this.occb) {
				// set the onClose callback flag
				this.occb = true;

				// execute the onClose callback
				this.opts.onClose.apply(this, [this.dialog]);
			}
			else {
				// if the data came from the DOM, put it back
				if (this.dialog.parentNode) {
					// save changes to the data?
					if (this.opts.persist) {
						// insert the (possibly) modified data back into the DOM
						this.dialog.data.hide().appendTo(this.dialog.parentNode);
					}
					else {
						// remove the current and insert the original, 
						// unmodified data back into the DOM
						this.dialog.data.hide().remove();
						this.dialog.orig.appendTo(this.dialog.parentNode);
					}
				}
				else {
					// otherwise, remove it
					this.dialog.data.hide().remove();
				}

				// remove the remaining elements
				this.dialog.container.hide().remove();
				this.dialog.overlay.hide().remove();
				this.dialog.iframe && this.dialog.iframe.hide().remove();

				// reset the dialog object
				this.dialog = {};
			}
		}
	};
})(jQuery);

/**
 * jquery.Jcrop.js v0.9.8
 * jQuery Image Cropping Plugin
 * @author Kelly Hallman <khallman@gmail.com>
 * Copyright (c) 2008-2009 Kelly Hallman - released under MIT License {{{
 *
 * Permission is hereby granted, free of charge, to any person
 * obtaining a copy of this software and associated documentation
 * files (the "Software"), to deal in the Software without
 * restriction, including without limitation the rights to use,
 * copy, modify, merge, publish, distribute, sublicense, and/or sell
 * copies of the Software, and to permit persons to whom the
 * Software is furnished to do so, subject to the following
 * conditions:

 * The above copyright notice and this permission notice shall be
 * included in all copies or substantial portions of the Software.

 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
 * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
 * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
 * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
 * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
 * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
 * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
 * OTHER DEALINGS IN THE SOFTWARE.

 * }}}
 */

(function($) {

$.Jcrop = function(obj,opt)
{
	// Initialization {{{

	// Sanitize some options {{{
	var obj = obj, opt = opt;

	if (typeof(obj) !== 'object') obj = $(obj)[0];
	if (typeof(opt) !== 'object') opt = { };

	// Some on-the-fly fixes for MSIE...sigh
	if (!('trackDocument' in opt))
	{
		opt.trackDocument = $.browser.msie ? false : true;
		if ($.browser.msie && $.browser.version.split('.')[0] == '8')
			opt.trackDocument = true;
	}

	if (!('keySupport' in opt))
			opt.keySupport = $.browser.msie ? false : true;
		
	// }}}
	// Extend the default options {{{
	var defaults = {

		// Basic Settings
		trackDocument:		false,
		baseClass:			'jcrop',
		addClass:			null,

		// Styling Options
		bgColor:			'black',
		bgOpacity:			.6,
		borderOpacity:		.4,
		handleOpacity:		.5,

		handlePad:			5,
		handleSize:			9,
		handleOffset:		5,
		edgeMargin:			14,

		aspectRatio:		0,
		keySupport:			true,
		cornerHandles:		true,
		sideHandles:		true,
		drawBorders:		true,
		dragEdges:			true,

		boxWidth:			0,
		boxHeight:			0,

		boundary:			8,
		animationDelay:		20,
		swingSpeed:			3,

		allowSelect:		true,
		allowMove:			true,
		allowResize:		true,

		minSelect:			[ 0, 0 ],
		maxSize:			[ 0, 0 ],
		minSize:			[ 0, 0 ],

		// Callbacks / Event Handlers
		onChange: function() { },
		onSelect: function() { }

	};
	var options = defaults;
	setOptions(opt);

	// }}}
	// Initialize some jQuery objects {{{

	var $origimg = $(obj);
	var $img = $origimg.clone().removeAttr('id').css({ position: 'absolute' });

	$img.width($origimg.width());
	$img.height($origimg.height());
	$origimg.after($img).hide();

	presize($img,options.boxWidth,options.boxHeight);

	var boundx = $img.width(),
		boundy = $img.height(),

		$div = $('<div />')
			.width(boundx).height(boundy)
			.addClass(cssClass('holder'))
			.css({
				position: 'relative',
				backgroundColor: options.bgColor
			}).insertAfter($origimg).append($img);
	;
	
	if (options.addClass) $div.addClass(options.addClass);
	//$img.wrap($div);

	var $img2 = $('<img />')/*{{{*/
			.attr('src',$img.attr('src'))
			.css('position','absolute')
			.width(boundx).height(boundy)
	;/*}}}*/
	var $img_holder = $('<div />')/*{{{*/
		.width(pct(100)).height(pct(100))
		.css({
			zIndex: 310,
			position: 'absolute',
			overflow: 'hidden'
		})
		.append($img2)
	;/*}}}*/
	var $hdl_holder = $('<div />')/*{{{*/
		.width(pct(100)).height(pct(100))
		.css('zIndex',320);
	/*}}}*/
	var $sel = $('<div />')/*{{{*/
		.css({
			position: 'absolute',
			zIndex: 300
		})
		.insertBefore($img)
		.append($img_holder,$hdl_holder)
	;/*}}}*/

	var bound = options.boundary;
	var $trk = newTracker().width(boundx+(bound*2)).height(boundy+(bound*2))
		.css({ position: 'absolute', top: px(-bound), left: px(-bound), zIndex: 290 })
		.mousedown(newSelection);	
	
	/* }}} */
	// Set more variables {{{

	var xlimit, ylimit, xmin, ymin;
	var xscale, yscale, enabled = true;
	var docOffset = getPos($img),
		// Internal states
		btndown, lastcurs, dimmed, animating,
		shift_down;

	// }}}
		

		// }}}
	// Internal Modules {{{

	var Coords = function()/*{{{*/
	{
		var x1 = 0, y1 = 0, x2 = 0, y2 = 0, ox, oy;

		function setPressed(pos)/*{{{*/
		{
			var pos = rebound(pos);
			x2 = x1 = pos[0];
			y2 = y1 = pos[1];
		};
		/*}}}*/
		function setCurrent(pos)/*{{{*/
		{
			var pos = rebound(pos);
			ox = pos[0] - x2;
			oy = pos[1] - y2;
			x2 = pos[0];
			y2 = pos[1];
		};
		/*}}}*/
		function getOffset()/*{{{*/
		{
			return [ ox, oy ];
		};
		/*}}}*/
		function moveOffset(offset)/*{{{*/
		{
			var ox = offset[0], oy = offset[1];

			if (0 > x1 + ox) ox -= ox + x1;
			if (0 > y1 + oy) oy -= oy + y1;

			if (boundy < y2 + oy) oy += boundy - (y2 + oy);
			if (boundx < x2 + ox) ox += boundx - (x2 + ox);

			x1 += ox;
			x2 += ox;
			y1 += oy;
			y2 += oy;
		};
		/*}}}*/
		function getCorner(ord)/*{{{*/
		{
			var c = getFixed();
			switch(ord)
			{
				case 'ne': return [ c.x2, c.y ];
				case 'nw': return [ c.x, c.y ];
				case 'se': return [ c.x2, c.y2 ];
				case 'sw': return [ c.x, c.y2 ];
			}
		};
		/*}}}*/
		function getFixed()/*{{{*/
		{
			if (!options.aspectRatio) return getRect();
			// This function could use some optimization I think...
			var aspect = options.aspectRatio,
				min_x = options.minSize[0]/xscale, 
				min_y = options.minSize[1]/yscale,
				max_x = options.maxSize[0]/xscale, 
				max_y = options.maxSize[1]/yscale,
				rw = x2 - x1,
				rh = y2 - y1,
				rwa = Math.abs(rw),
				rha = Math.abs(rh),
				real_ratio = rwa / rha,
				xx, yy
			;
			if (max_x == 0) { max_x = boundx * 10 }
			if (max_y == 0) { max_y = boundy * 10 }
			if (real_ratio < aspect)
			{
				yy = y2;
				w = rha * aspect;
				xx = rw < 0 ? x1 - w : w + x1;

				if (xx < 0)
				{
					xx = 0;
					h = Math.abs((xx - x1) / aspect);
					yy = rh < 0 ? y1 - h: h + y1;
				}
				else if (xx > boundx)
				{
					xx = boundx;
					h = Math.abs((xx - x1) / aspect);
					yy = rh < 0 ? y1 - h : h + y1;
				}
			}
			else
			{
				xx = x2;
				h = rwa / aspect;
				yy = rh < 0 ? y1 - h : y1 + h;
				if (yy < 0)
				{
					yy = 0;
					w = Math.abs((yy - y1) * aspect);
					xx = rw < 0 ? x1 - w : w + x1;
				}
				else if (yy > boundy)
				{
					yy = boundy;
					w = Math.abs(yy - y1) * aspect;
					xx = rw < 0 ? x1 - w : w + x1;
				}
			}

			// Magic %-)
			if(xx > x1) { // right side
			  if(xx - x1 < min_x) {
				xx = x1 + min_x;
			  } else if (xx - x1 > max_x) {
				xx = x1 + max_x;
			  }
			  if(yy > y1) {
				yy = y1 + (xx - x1)/aspect;
			  } else {
				yy = y1 - (xx - x1)/aspect;
			  }
			} else if (xx < x1) { // left side
			  if(x1 - xx < min_x) {
				xx = x1 - min_x
			  } else if (x1 - xx > max_x) {
				xx = x1 - max_x;
			  }
			  if(yy > y1) {
				yy = y1 + (x1 - xx)/aspect;
			  } else {
				yy = y1 - (x1 - xx)/aspect;
			  }
			}

			if(xx < 0) {
				x1 -= xx;
				xx = 0;
			} else  if (xx > boundx) {
				x1 -= xx - boundx;
				xx = boundx;
			}

			if(yy < 0) {
				y1 -= yy;
				yy = 0;
			} else  if (yy > boundy) {
				y1 -= yy - boundy;
				yy = boundy;
			}

			return last = makeObj(flipCoords(x1,y1,xx,yy));
		};
		/*}}}*/
		function rebound(p)/*{{{*/
		{
			if (p[0] < 0) p[0] = 0;
			if (p[1] < 0) p[1] = 0;

			if (p[0] > boundx) p[0] = boundx;
			if (p[1] > boundy) p[1] = boundy;

			return [ p[0], p[1] ];
		};
		/*}}}*/
		function flipCoords(x1,y1,x2,y2)/*{{{*/
		{
			var xa = x1, xb = x2, ya = y1, yb = y2;
			if (x2 < x1)
			{
				xa = x2;
				xb = x1;
			}
			if (y2 < y1)
			{
				ya = y2;
				yb = y1;
			}
			return [ Math.round(xa), Math.round(ya), Math.round(xb), Math.round(yb) ];
		};
		/*}}}*/
		function getRect()/*{{{*/
		{
			var xsize = x2 - x1;
			var ysize = y2 - y1;

			if (xlimit && (Math.abs(xsize) > xlimit))
				x2 = (xsize > 0) ? (x1 + xlimit) : (x1 - xlimit);
			if (ylimit && (Math.abs(ysize) > ylimit))
				y2 = (ysize > 0) ? (y1 + ylimit) : (y1 - ylimit);

			if (ymin && (Math.abs(ysize) < ymin))
				y2 = (ysize > 0) ? (y1 + ymin) : (y1 - ymin);
			if (xmin && (Math.abs(xsize) < xmin))
				x2 = (xsize > 0) ? (x1 + xmin) : (x1 - xmin);

			if (x1 < 0) { x2 -= x1; x1 -= x1; }
			if (y1 < 0) { y2 -= y1; y1 -= y1; }
			if (x2 < 0) { x1 -= x2; x2 -= x2; }
			if (y2 < 0) { y1 -= y2; y2 -= y2; }
			if (x2 > boundx) { var delta = x2 - boundx; x1 -= delta; x2 -= delta; }
			if (y2 > boundy) { var delta = y2 - boundy; y1 -= delta; y2 -= delta; }
			if (x1 > boundx) { var delta = x1 - boundy; y2 -= delta; y1 -= delta; }
			if (y1 > boundy) { var delta = y1 - boundy; y2 -= delta; y1 -= delta; }

			return makeObj(flipCoords(x1,y1,x2,y2));
		};
		/*}}}*/
		function makeObj(a)/*{{{*/
		{
			return { x: a[0], y: a[1], x2: a[2], y2: a[3],
				w: a[2] - a[0], h: a[3] - a[1] };
		};
		/*}}}*/

		return {
			flipCoords: flipCoords,
			setPressed: setPressed,
			setCurrent: setCurrent,
			getOffset: getOffset,
			moveOffset: moveOffset,
			getCorner: getCorner,
			getFixed: getFixed
		};
	}();

	/*}}}*/
	var Selection = function()/*{{{*/
	{
		var start, end, dragmode, awake, hdep = 370;
		var borders = { };
		var handle = { };
		var seehandles = false;
		var hhs = options.handleOffset;

		/* Insert draggable elements {{{*/

		// Insert border divs for outline
		if (options.drawBorders) {
			borders = {
					top: insertBorder('hline')
						.css('top',$.browser.msie?px(-1):px(0)),
					bottom: insertBorder('hline'),
					left: insertBorder('vline'),
					right: insertBorder('vline')
			};
		}

		// Insert handles on edges
		if (options.dragEdges) {
			handle.t = insertDragbar('n');
			handle.b = insertDragbar('s');
			handle.r = insertDragbar('e');
			handle.l = insertDragbar('w');
		}

		// Insert side handles
		options.sideHandles &&
			createHandles(['n','s','e','w']);

		// Insert corner handles
		options.cornerHandles &&
			createHandles(['sw','nw','ne','se']);

		/*}}}*/
		// Private Methods
		function insertBorder(type)/*{{{*/
		{
			var jq = $('<div />')
				.css({position: 'absolute', opacity: options.borderOpacity })
				.addClass(cssClass(type));
			$img_holder.append(jq);
			return jq;
		};
		/*}}}*/
		function dragDiv(ord,zi)/*{{{*/
		{
			var jq = $('<div />')
				.mousedown(createDragger(ord))
				.css({
					cursor: ord+'-resize',
					position: 'absolute',
					zIndex: zi 
				})
			;
			$hdl_holder.append(jq);
			return jq;
		};
		/*}}}*/
		function insertHandle(ord)/*{{{*/
		{
			return dragDiv(ord,hdep++)
				.css({ top: px(-hhs+1), left: px(-hhs+1), opacity: options.handleOpacity })
				.addClass(cssClass('handle'));
		};
		/*}}}*/
		function insertDragbar(ord)/*{{{*/
		{
			var s = options.handleSize,
				o = hhs,
				h = s, w = s,
				t = o, l = o;

			switch(ord)
			{
				case 'n': case 's': w = pct(100); break;
				case 'e': case 'w': h = pct(100); break;
			}

			return dragDiv(ord,hdep++).width(w).height(h)
				.css({ top: px(-t+1), left: px(-l+1)});
		};
		/*}}}*/
		function createHandles(li)/*{{{*/
		{
			for(i in li) handle[li[i]] = insertHandle(li[i]);
		};
		/*}}}*/
		function moveHandles(c)/*{{{*/
		{
			var midvert  = Math.round((c.h / 2) - hhs),
				midhoriz = Math.round((c.w / 2) - hhs),
				north = west = -hhs+1,
				east = c.w - hhs,
				south = c.h - hhs,
				x, y;

			'e' in handle &&
				handle.e.css({ top: px(midvert), left: px(east) }) &&
				handle.w.css({ top: px(midvert) }) &&
				handle.s.css({ top: px(south), left: px(midhoriz) }) &&
				handle.n.css({ left: px(midhoriz) });

			'ne' in handle &&
				handle.ne.css({ left: px(east) }) &&
				handle.se.css({ top: px(south), left: px(east) }) &&
				handle.sw.css({ top: px(south) });

			'b' in handle &&
				handle.b.css({ top: px(south) }) &&
				handle.r.css({ left: px(east) });
		};
		/*}}}*/
		function moveto(x,y)/*{{{*/
		{
			$img2.css({ top: px(-y), left: px(-x) });
			$sel.css({ top: px(y), left: px(x) });
		};
		/*}}}*/
		function resize(w,h)/*{{{*/
		{
			$sel.width(w).height(h);
		};
		/*}}}*/
		function refresh()/*{{{*/
		{
			var c = Coords.getFixed();

			Coords.setPressed([c.x,c.y]);
			Coords.setCurrent([c.x2,c.y2]);

			updateVisible();
		};
		/*}}}*/

		// Internal Methods
		function updateVisible()/*{{{*/
			{ if (awake) return update(); };
		/*}}}*/
		function update()/*{{{*/
		{
			var c = Coords.getFixed();

			resize(c.w,c.h);
			moveto(c.x,c.y);

			options.drawBorders &&
				borders['right'].css({ left: px(c.w-1) }) &&
					borders['bottom'].css({ top: px(c.h-1) });

			seehandles && moveHandles(c);
			awake || show();

			options.onChange(unscale(c));
		};
		/*}}}*/
		function show()/*{{{*/
		{
			$sel.show();
			$img.css('opacity',options.bgOpacity);
			awake = true;
		};
		/*}}}*/
		function release()/*{{{*/
		{
			disableHandles();
			$sel.hide();
			$img.css('opacity',1);
			awake = false;
		};
		/*}}}*/
		function showHandles()//{{{
		{
			if (seehandles)
			{
				moveHandles(Coords.getFixed());
				$hdl_holder.show();
			}
		};
		//}}}
		function enableHandles()/*{{{*/
		{ 
			seehandles = true;
			if (options.allowResize)
			{
				moveHandles(Coords.getFixed());
				$hdl_holder.show();
				return true;
			}
		};
		/*}}}*/
		function disableHandles()/*{{{*/
		{
			seehandles = false;
			$hdl_holder.hide();
		};
		/*}}}*/
		function animMode(v)/*{{{*/
		{
			(animating = v) ? disableHandles(): enableHandles();
		};
		/*}}}*/
		function done()/*{{{*/
		{
			animMode(false);
			refresh();
		};
		/*}}}*/

		var $track = newTracker().mousedown(createDragger('move'))
				.css({ cursor: 'move', position: 'absolute', zIndex: 360 })

		$img_holder.append($track);
		disableHandles();

		return {
			updateVisible: updateVisible,
			update: update,
			release: release,
			refresh: refresh,
			setCursor: function (cursor) { $track.css('cursor',cursor); },
			enableHandles: enableHandles,
			enableOnly: function() { seehandles = true; },
			showHandles: showHandles,
			disableHandles: disableHandles,
			animMode: animMode,
			done: done
		};
	}();
	/*}}}*/
	var Tracker = function()/*{{{*/
	{
		var onMove		= function() { },
			onDone		= function() { },
			trackDoc	= options.trackDocument;

		if (!trackDoc)
		{
			$trk
				.mousemove(trackMove)
				.mouseup(trackUp)
				.mouseout(trackUp)
			;
		}

		function toFront()/*{{{*/
		{
			$trk.css({zIndex:450});
			if (trackDoc)
			{
				$(document)
					.mousemove(trackMove)
					.mouseup(trackUp)
				;
			}
		}
		/*}}}*/
		function toBack()/*{{{*/
		{
			$trk.css({zIndex:290});
			if (trackDoc)
			{
				$(document)
					.unbind('mousemove',trackMove)
					.unbind('mouseup',trackUp)
				;
			}
		}
		/*}}}*/
		function trackMove(e)/*{{{*/
		{
			onMove(mouseAbs(e));
		};
		/*}}}*/
		function trackUp(e)/*{{{*/
		{
			e.preventDefault();
			e.stopPropagation();

			if (btndown)
			{
				btndown = false;

				onDone(mouseAbs(e));
				options.onSelect(unscale(Coords.getFixed()));
				toBack();
				onMove = function() { };
				onDone = function() { };
			}

			return false;
		};
		/*}}}*/

		function activateHandlers(move,done)/* {{{ */
		{
			btndown = true;
			onMove = move;
			onDone = done;
			toFront();
			return false;
		};
		/* }}} */

		function setCursor(t) { $trk.css('cursor',t); };

		$img.before($trk);
		return {
			activateHandlers: activateHandlers,
			setCursor: setCursor
		};
	}();
	/*}}}*/
	var KeyManager = function()/*{{{*/
	{
		var $keymgr = $('<input type="radio" />')
				.css({ position: 'absolute', left: '-30px' })
				.keypress(parseKey)
				.blur(onBlur),

			$keywrap = $('<div />')
				.css({
					position: 'absolute',
					overflow: 'hidden'
				})
				.append($keymgr)
		;

		function watchKeys()/*{{{*/
		{
			if (options.keySupport)
			{
				$keymgr.show();
				$keymgr.focus();
			}
		};
		/*}}}*/
		function onBlur(e)/*{{{*/
		{
			$keymgr.hide();
		};
		/*}}}*/
		function doNudge(e,x,y)/*{{{*/
		{
			if (options.allowMove) {
				Coords.moveOffset([x,y]);
				Selection.updateVisible();
			};
			e.preventDefault();
			e.stopPropagation();
		};
		/*}}}*/
		function parseKey(e)/*{{{*/
		{
			if (e.ctrlKey) return true;
			shift_down = e.shiftKey ? true : false;
			var nudge = shift_down ? 10 : 1;
			switch(e.keyCode)
			{
				case 37: doNudge(e,-nudge,0); break;
				case 39: doNudge(e,nudge,0); break;
				case 38: doNudge(e,0,-nudge); break;
				case 40: doNudge(e,0,nudge); break;

				case 27: Selection.release(); break;

				case 9: return true;
			}

			return nothing(e);
		};
		/*}}}*/
		
		if (options.keySupport) $keywrap.insertBefore($img);
		return {
			watchKeys: watchKeys
		};
	}();
	/*}}}*/

	// }}}
	// Internal Methods {{{

	function px(n) { return '' + parseInt(n) + 'px'; };
	function pct(n) { return '' + parseInt(n) + '%'; };
	function cssClass(cl) { return options.baseClass + '-' + cl; };
	function getPos(obj)/*{{{*/
	{
		// Updated in v0.9.4 to use built-in dimensions plugin
		var pos = $(obj).offset();
		return [ pos.left, pos.top ];
	};
	/*}}}*/
	function mouseAbs(e)/*{{{*/
	{
		return [ (e.pageX - docOffset[0]), (e.pageY - docOffset[1]) ];
	};
	/*}}}*/
	function myCursor(type)/*{{{*/
	{
		if (type != lastcurs)
		{
			Tracker.setCursor(type);
			//Handles.xsetCursor(type);
			lastcurs = type;
		}
	};
	/*}}}*/
	function startDragMode(mode,pos)/*{{{*/
	{
		docOffset = getPos($img);
		Tracker.setCursor(mode=='move'?mode:mode+'-resize');

		if (mode == 'move')
			return Tracker.activateHandlers(createMover(pos), doneSelect);

		var fc = Coords.getFixed();
		var opp = oppLockCorner(mode);
		var opc = Coords.getCorner(oppLockCorner(opp));

		Coords.setPressed(Coords.getCorner(opp));
		Coords.setCurrent(opc);

		Tracker.activateHandlers(dragmodeHandler(mode,fc),doneSelect);
	};
	/*}}}*/
	function dragmodeHandler(mode,f)/*{{{*/
	{
		return function(pos) {
			if (!options.aspectRatio) switch(mode)
			{
				case 'e': pos[1] = f.y2; break;
				case 'w': pos[1] = f.y2; break;
				case 'n': pos[0] = f.x2; break;
				case 's': pos[0] = f.x2; break;
			}
			else switch(mode)
			{
				case 'e': pos[1] = f.y+1; break;
				case 'w': pos[1] = f.y+1; break;
				case 'n': pos[0] = f.x+1; break;
				case 's': pos[0] = f.x+1; break;
			}
			Coords.setCurrent(pos);
			Selection.update();
		};
	};
	/*}}}*/
	function createMover(pos)/*{{{*/
	{
		var lloc = pos;
		KeyManager.watchKeys();

		return function(pos)
		{
			Coords.moveOffset([pos[0] - lloc[0], pos[1] - lloc[1]]);
			lloc = pos;
			
			Selection.update();
		};
	};
	/*}}}*/
	function oppLockCorner(ord)/*{{{*/
	{
		switch(ord)
		{
			case 'n': return 'sw';
			case 's': return 'nw';
			case 'e': return 'nw';
			case 'w': return 'ne';
			case 'ne': return 'sw';
			case 'nw': return 'se';
			case 'se': return 'nw';
			case 'sw': return 'ne';
		};
	};
	/*}}}*/
	function createDragger(ord)/*{{{*/
	{
		return function(e) {
			if (options.disabled) return false;
			if ((ord == 'move') && !options.allowMove) return false;
			btndown = true;
			startDragMode(ord,mouseAbs(e));
			e.stopPropagation();
			e.preventDefault();
			return false;
		};
	};
	/*}}}*/
	function presize($obj,w,h)/*{{{*/
	{
		var nw = $obj.width(), nh = $obj.height();
		if ((nw > w) && w > 0)
		{
			nw = w;
			nh = (w/$obj.width()) * $obj.height();
		}
		if ((nh > h) && h > 0)
		{
			nh = h;
			nw = (h/$obj.height()) * $obj.width();
		}
		xscale = $obj.width() / nw;
		yscale = $obj.height() / nh;
		$obj.width(nw).height(nh);
	};
	/*}}}*/
	function unscale(c)/*{{{*/
	{
		return {
			x: parseInt(c.x * xscale), y: parseInt(c.y * yscale), 
			x2: parseInt(c.x2 * xscale), y2: parseInt(c.y2 * yscale), 
			w: parseInt(c.w * xscale), h: parseInt(c.h * yscale)
		};
	};
	/*}}}*/
	function doneSelect(pos)/*{{{*/
	{
		var c = Coords.getFixed();
		if (c.w > options.minSelect[0] && c.h > options.minSelect[1])
		{
			Selection.enableHandles();
			Selection.done();
		}
		else
		{
			Selection.release();
		}
		Tracker.setCursor( options.allowSelect?'crosshair':'default' );
	};
	/*}}}*/
	function newSelection(e)/*{{{*/
	{
		if (options.disabled) return false;
		if (!options.allowSelect) return false;
		btndown = true;
		docOffset = getPos($img);
		Selection.disableHandles();
		myCursor('crosshair');
		var pos = mouseAbs(e);
		Coords.setPressed(pos);
		Tracker.activateHandlers(selectDrag,doneSelect);
		KeyManager.watchKeys();
		Selection.update();

		e.stopPropagation();
		e.preventDefault();
		return false;
	};
	/*}}}*/
	function selectDrag(pos)/*{{{*/
	{
		Coords.setCurrent(pos);
		Selection.update();
	};
	/*}}}*/
	function newTracker()
	{
		var trk = $('<div></div>').addClass(cssClass('tracker'));
		$.browser.msie && trk.css({ opacity: 0, backgroundColor: 'white' });
		return trk;
	};

	// }}}
	// API methods {{{
		
	function animateTo(a)/*{{{*/
	{
		var x1 = a[0] / xscale,
			y1 = a[1] / yscale,
			x2 = a[2] / xscale,
			y2 = a[3] / yscale;

		if (animating) return;

		var animto = Coords.flipCoords(x1,y1,x2,y2);
		var c = Coords.getFixed();
		var animat = initcr = [ c.x, c.y, c.x2, c.y2 ];
		var interv = options.animationDelay;

		var x = animat[0];
		var y = animat[1];
		var x2 = animat[2];
		var y2 = animat[3];
		var ix1 = animto[0] - initcr[0];
		var iy1 = animto[1] - initcr[1];
		var ix2 = animto[2] - initcr[2];
		var iy2 = animto[3] - initcr[3];
		var pcent = 0;
		var velocity = options.swingSpeed;

		Selection.animMode(true);

		var animator = function()
		{
			return function()
			{
				pcent += (100 - pcent) / velocity;

				animat[0] = x + ((pcent / 100) * ix1);
				animat[1] = y + ((pcent / 100) * iy1);
				animat[2] = x2 + ((pcent / 100) * ix2);
				animat[3] = y2 + ((pcent / 100) * iy2);

				if (pcent < 100) animateStart();
					else Selection.done();

				if (pcent >= 99.8) pcent = 100;

				setSelectRaw(animat);
			};
		}();

		function animateStart()
			{ window.setTimeout(animator,interv); };

		animateStart();
	};
	/*}}}*/
	function setSelect(rect)//{{{
	{
		setSelectRaw([rect[0]/xscale,rect[1]/yscale,rect[2]/xscale,rect[3]/yscale]);
	};
	//}}}
	function setSelectRaw(l) /*{{{*/
	{
		Coords.setPressed([l[0],l[1]]);
		Coords.setCurrent([l[2],l[3]]);
		Selection.update();
	};
	/*}}}*/
	function setOptions(opt)/*{{{*/
	{
		if (typeof(opt) != 'object') opt = { };
		options = $.extend(options,opt);

		if (typeof(options.onChange)!=='function')
			options.onChange = function() { };

		if (typeof(options.onSelect)!=='function')
			options.onSelect = function() { };

	};
	/*}}}*/
	function tellSelect()/*{{{*/
	{
		return unscale(Coords.getFixed());
	};
	/*}}}*/
	function tellScaled()/*{{{*/
	{
		return Coords.getFixed();
	};
	/*}}}*/
	function setOptionsNew(opt)/*{{{*/
	{
		setOptions(opt);
		interfaceUpdate();
	};
	/*}}}*/
	function disableCrop()//{{{
	{
		options.disabled = true;
		Selection.disableHandles();
		Selection.setCursor('default');
		Tracker.setCursor('default');
	};
	//}}}
	function enableCrop()//{{{
	{
		options.disabled = false;
		interfaceUpdate();
	};
	//}}}
	function cancelCrop()//{{{
	{
		Selection.done();
		Tracker.activateHandlers(null,null);
	};
	//}}}
	function destroy()//{{{
	{
		$div.remove();
		$origimg.show();
	};
	//}}}

	function interfaceUpdate(alt)//{{{
	// This method tweaks the interface based on options object.
	// Called when options are changed and at end of initialization.
	{
		options.allowResize ?
			alt?Selection.enableOnly():Selection.enableHandles():
			Selection.disableHandles();

		Tracker.setCursor( options.allowSelect? 'crosshair': 'default' );
		Selection.setCursor( options.allowMove? 'move': 'default' );

		$div.css('backgroundColor',options.bgColor);

		if ('setSelect' in options) {
			setSelect(opt.setSelect);
			Selection.done();
			delete(options.setSelect);
		}

		if ('trueSize' in options) {
			xscale = options.trueSize[0] / boundx;
			yscale = options.trueSize[1] / boundy;
		}

		xlimit = options.maxSize[0] || 0;
		ylimit = options.maxSize[1] || 0;
		xmin = options.minSize[0] || 0;
		ymin = options.minSize[1] || 0;

		if ('outerImage' in options)
		{
			$img.attr('src',options.outerImage);
			delete(options.outerImage);
		}

		Selection.refresh();
	};
	//}}}

	// }}}

	$hdl_holder.hide();
	interfaceUpdate(true);
	
	var api = {
		animateTo: animateTo,
		setSelect: setSelect,
		setOptions: setOptionsNew,
		tellSelect: tellSelect,
		tellScaled: tellScaled,

		disable: disableCrop,
		enable: enableCrop,
		cancel: cancelCrop,

		focus: KeyManager.watchKeys,

		getBounds: function() { return [ boundx * xscale, boundy * yscale ]; },
		getWidgetSize: function() { return [ boundx, boundy ]; },

		release: Selection.release,
		destroy: destroy

	};

	$origimg.data('Jcrop',api);
	return api;
};

$.fn.Jcrop = function(options)/*{{{*/
{
	function attachWhenDone(from)/*{{{*/
	{
		var loadsrc = options.useImg || from.src;
		var img = new Image();
		img.onload = function() { $.Jcrop(from,options); };
		img.src = loadsrc;
	};
	/*}}}*/
	if (typeof(options) !== 'object') options = { };

	// Iterate over each object, attach Jcrop
	this.each(function()
	{
		// If we've already attached to this object
		if ($(this).data('Jcrop'))
		{
			// The API can be requested this way (undocumented)
			if (options == 'api') return $(this).data('Jcrop');
			// Otherwise, we just reset the options...
			else $(this).data('Jcrop').setOptions(options);
		}
		// If we haven't been attached, preload and attach
		else attachWhenDone(this);
	});

	// Return "this" so we're chainable a la jQuery plugin-style!
	return this;
};
/*}}}*/

})(jQuery);

